日期:2014-05-18  浏览次数:20786 次

请问一个xmldocument的问题?
C# code
XmlDocument myXmlDoc = new XmlDocument();
XmlElement rootElement = myXmlDoc.CreateElement("root");
myXmlDoc.AppendChild(rootElement);
XmlElement firstLevelElement1 = myXmlDoc.CreateElement("Computer");
firstLevelElement1.SetAttribute("ID", "1");
firstLevelElement1.SetAttribute("Description", "111");
rootElement.AppendChild(firstLevelElement1);

生成的xml文件:
C# code
<root>
  <Computer ID="1" Description="111" />
</root>

1.我想生成带声明的xml,这个应该用什么做?
XML code
<?xml version="1.0" encoding="utf-8"?>
<root>
  <Computer ID="1" Description="111" />
</root>

2.xmldocument我用不用sava保存的话,可以获取到xml整个字符串吗?

------解决方案--------------------
C# code
  XElement xel = new XElement("emails",
                         new XElement("发件箱", SendEmail),
                        new XElement("收件箱", email),
                        new XElement("邮件名称", Subject),
                        new XElement("附件名称", FileName),
                        new XElement("接收时间", date.Substring(date.IndexOf("201")).Trim()),
                        new XElement("下载时间", getTime()),
                        new XElement("存储路径", savePath),
                        new XElement("下载状态", su == true ? "成功" : "失败")
                        );
                //保存创建好的XML文档
                xel.Save(_xname);

------解决方案--------------------
用XElement xmldocument太老了
------解决方案--------------------
这行“<?xml version="1.0" encoding="utf-8"?>”我一直是手写的,把它定义成static string就行了。
------解决方案--------------------
参考:http://www.cnblogs.com/bloglive/archive/2009/08/04/1538834.html
------解决方案--------------------
加行代码,写进去也可以了
------解决方案--------------------
探讨

引用:
用XElement xmldocument太老了

应该用什么生成xml速度快点!!!
有好的提议吗???

------解决方案--------------------
探讨

引用:
用XElement xmldocument太老了

应该用什么生成xml速度快点!!!
有好的提议吗???

------解决方案--------------------
加两句代码就可以:
XmlDocument myXmlDoc = new XmlDocument();
XmlElement rootElement = myXmlDoc.CreateElement("root");
myXmlDoc.AppendChild(rootElement);
XmlElement firstLevelElement1 = myXmlDoc.CreateElement("Computer");
firstLevelElement1.SetAttribute("ID", "1");
firstLevelElement1.SetAttribute("Description", "111");
rootElement.AppendChild(firstLevelElement1);

XmlDeclaration xmldecl = myXmlDoc.CreateXmlDeclaration("1.0", "utf-8"", null);
myXmlDoc.InsertBefore(xmldecl, rootElement);

myXmlDoc.Save(@"c:\test3.xml");
------解决方案--------------------