问题:
string strXml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>";
要去掉它的声明:"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>
方法一:找字符串?> 看法:比较二
方法二:XmlDocument找第一个声明元素并干掉 看法:比较正常
方法三:XDocument直接输出ToString() 看法:最简洁、最正确,但不自然
关于XDocument输出时的声明情况:
- 调用Save(FileName)的时候总会写入一个声明
- 调用Save(XmlWriter)将会写入一个声明, 除非XmlWriter已经被指示不使用
- ToString方法永远不会处理XML声明
最终代码是:XDocument.Parse(fullXml.ToString())
总结:代码要写得细:D