2013-04-09 63 views
13

如何將XML文件寫入字符串變量? 這裏是我的代碼,該變量的內容應該返回一個XML字符串:將XML文件轉換爲字符串類型

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

當我嘗試這個程序說我需要定義一個路徑而不是內容 – Pedram 2013-04-09 07:18:08

+0

是否要將xml文件讀入字符串。我對麼? – Sachin 2013-04-09 07:20:49

+1

如果你想創建'xml'文件,然後把它分配給'string''變量'使用Linq 2 Xml這是最快的方法。 – harry180 2013-04-09 07:22:35

回答

35

像這樣的事情

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

這裏是很好的答案創建XmlDocument XDocument or XMLDocument

+0

謝謝你回答我的問題:) – Pedram 2013-04-09 07:39:04

+0

讓我試試這個 – Lijo 2016-10-23 18:14:41

1

HI Pedram您可以嘗試以下代碼

XmlDocument doc = new XmlDocument(); 

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

謝謝,但我想生成一個XML文件並保存到一個字符串變量,我不能加載或保存文件到硬盤或從硬盤保存 – Pedram 2013-04-09 07:25:48

1

嘗試這個 -

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; 

對此看看too-

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

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

如果你真的想創建一個新的XmlDocument然後做這個

XmlDocument newxmlDoc= myxml