2013-04-09 2 views
13

Wie können wir eine XML-Datei in eine String-Variable schreiben? Hier ist der Code, den ich habe, ist die Variable Inhalt soll eine XML-Zeichenfolge zurück:Konvertierung einer XML-Datei in einen String-Typ

public string GetValues2() 
    { 
     string content = ""; 
     XmlTextWriter textWriter = new XmlTextWriter(content, null); 
     textWriter.WriteStartElement("Student"); 
     textWriter.WriteStartElement("r", "RECORD", "urn:record"); 
     textWriter.WriteStartElement("Name", ""); 
     textWriter.WriteString("Student"); 
     textWriter.WriteEndElement(); 
     textWriter.Close(); 

     return contents; 

    } 
+0

Als ich dieses die versuchen erstellen möchten Programm sagt, dass ich einen Pfad anstelle des Inhalts – Pedram

+0

möchten Sie XML-Datei in eine Zeichenfolge lesen möchten. hab ich recht? – Sachin

+1

Wenn Sie 'xml'-Datei erstellen und dann' string' 'Variable' zuweisen wollen, verwenden Sie Linq 2 Xml, das ist der schnellste Weg. – harry180

Antwort

35

So etwas

string xmlString = System.IO.File.ReadAllText(fileName); 

Hier ist gut Antwort XmlDocument XDocument or XMLDocument

+0

Vielen Dank für die Beantwortung meiner Frage :) – Pedram

+0

Lassen Sie mich versuchen, diese – Lijo

1

HALLO zu erstellen Pedram Sie können den folgenden Code versuchen

XmlDocument doc = new XmlDocument(); 

doc.LoadXml("yourXMLPath"); 
StringWriter sw = new StringWriter(); 
XmlTextWriter tx = new XmlTextWriter(sw); 
doc.WriteTo(tx); 
sw.ToString(); 
+0

Danke, aber ich möchte eine XML-Datei generieren und speichern in die eine Zeichenfolge-Variable, ich darf nicht laden oder Dateien auf oder von der Festplatte speichern – Pedram

1

Versuchen this-

XmlDocument doc = new XmlDocument(); 
doc.LoadXml(your text string); 

StringBuilder sb = new StringBuilder(); 
foreach (XmlNode node in doc.DocumentElement.ChildNodes) 
{ 
    sb.Append(char.ToUpper(node.Name[0])); 
    sb.Append(node.Name.Substring(1)); 
    sb.Append(' '); 
    sb.AppendLine(node.InnerText); 
} 
return sb; 

haben einen Blick auf diese allzu

StringWriter sw = new StringWriter(); 
    XmlTextWriter tx = new XmlTextWriter(sw); 
    myxml.WriteTo(tx); 

    string str = sw.ToString();// 
    return str; 

und wenn Sie wirklich ein neues XmlDocument dann tun, um diese

XmlDocument newxmlDoc= myxml 
Verwandte Themen