C# 创建System.Xml.XmlDocument,而不是从字符串

C# 创建System.Xml.XmlDocument,而不是从字符串,c#,xml,xmldocument,C#,Xml,Xmldocument,可以通过解析字符串来创建System.Xml.Xml文档,而无需初始化? 我想创建一个表示XML 我知道初始化XmlDocument的正常方法是通过字符串解析,如下所示: System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); doc.LoadXml("<rootEl />"); (我知道System.Xml.Linq似乎更灵活,但现在我仍坚持老派。)好吧,不可能完全按照您给出的代码来做。没有将内容作为流或字符串的构造函

可以通过解析字符串来创建System.Xml.Xml文档,而无需初始化?
我想创建一个表示XML

我知道初始化XmlDocument的正常方法是通过字符串解析,如下所示:

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

(我知道System.Xml.Linq似乎更灵活,但现在我仍坚持老派。)

好吧,不可能完全按照您给出的代码来做。没有将内容作为流或字符串的构造函数

另一方面,你可以写:

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

这就是你想要的吗?请更具体地说明你想要实现的目标。

我认为你不能按照你想要的方式去做

不确定这是否是您需要的,但您可以这样做:

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();
System.Xml.XmlDocument doc=new System.Xml.XmlDocument();
FileStream fs=newfilestream(“whatever.xml”,FileMode.Create);
XmlWriter=XmlWriter.Create(fs);
writer.WriteRaw(“”);
writer.WriteRaw(“”);
writer.Flush();
fs.Close();

您不仅可以这样做(参见Jon的回答),而且您的代码将编写无效的XML。这是在不解析字符串中的“整个”XML的情况下完成的。认可的!
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();