C# 如何向加载的xml文件c添加额外的根#
有人能告诉我如何在c#中为加载的xml文件添加额外的根吗 现在我有:C# 如何向加载的xml文件c添加额外的根#,c#,xml,C#,Xml,有人能告诉我如何在c#中为加载的xml文件添加额外的根吗 现在我有: <object> <obj_name>hero1</obj_name> <field> </field> </object> <object> <obj_name>hero2</obj_name> <field> </field> </object> 您当前拥有的不是XML,因为XM
<object>
<obj_name>hero1</obj_name>
<field>
</field>
</object>
<object>
<obj_name>hero2</obj_name>
<field>
</field>
</object>
您当前拥有的不是XML,因为XML中不允许有两个根元素 您的标题和开场白与代码不一致。您已经有两个根元素,并且您正试图将它们包装在一个根元素中,这样您就有了格式良好的XML
不能使用XML库处理格式不正确的XML(因为它不是XML);首先你必须修理它。以文本形式读取文件,添加包装器根元素,然后将其解析为XML。有关处理问题“XML”的更多详细信息,请参阅另一个问题。我是否可以仅从xml文件中解释我关心的字段,例如,我希望xml文件被解释,而我不希望它被解释,例如??您可以在网络中处理格式不正确的xml。使用XmlReader并将XmlReaderSettings设置为:settings.ConformanceLevel=ConformanceLevel.Fragment@伊登:很高兴知道。在我的回答中,我已经添加了这个有用的提示。谢谢。@Drax:“解释”是根据您的应用程序而定的,所以当然有解释或忽略XML元素或属性的方法。然而,你必须澄清你的目标,并在一个新问题中详细说明你尝试了什么,因为评论并不是为了这个。谢谢
<objects>
<object>
<obj_name>hero1</obj_name>
<field>
</field>
</object>
<object>
<obj_name>hero2</obj_name>
<field>
</field>
</object>
</objects>
//Create XmlDocument instance
XmlDocument doc = new XmlDocument();
//Before loading xml file whtie spaces are allowed
doc.PreserveWhitespace = false;
//Loading xml file
doc.Load(@"..\..\input.xml");
//Deleting white spaces
doc.PreserveWhitespace = true;