2012-01-19 65 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

相关问题