2012-01-19 102 views
0

可以創建一個System.Xml.XmlDocument,而無需通過解析字符串進行初始化?
我想創建一個XmlDocument的代表XML <rootEl />創建System.Xml.XmlDocument,而不是從字符串

我知道正常的方式來初始化一個XmlDocument是字符串解析如下:

System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); 
doc.LoadXml("<rootEl />"); 

然而,就是有可能使用概述的方法下面?

System.Xml.XmlDocument doc = new System.Xml.XmlDocument("rootEl");  

(我的理解System.Xml.Linq的似乎是更靈活,但現在我堅持老校友。)

回答

2

嗯,這是不可能的正是你的代碼做已經給了。 XmlDocument沒有構造函數,它將內容作爲流或字符串。

在另一方面,你可以寫:

XmlDocument doc = new XmlDocument(); 
doc.AppendChild(doc.CreateElement("rootEl")); 

這是你想要的嗎?請更具體地說明您要實現的目標。

+0

它沒有解析「整體」從字符串XML完成。公認! – leiflundgren

-1

我認爲你不能按你想要的方式去做。

不知道這是否是你所需要的,但你可以做這樣的:

System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); 
FileStream fs = new FileStream("whatever.xml", FileMode.Create); 

XmlWriter writer = XmlWriter.Create(fs); 


writer.WriteRaw("<rootEl>"); 
writer.WriteRaw("<rootEl />"); 

writer.Flush(); 
fs.Close(); 
+0

您不僅可以這樣做(請參閱Jon的答案),但您的代碼將寫入無效的XML。 – svick

+0

的確如此。謝謝。 – gabsferreira

相關問題