有人可以告诉我如何在c#中为加载的xml文件添加额外的根吗?
现在我有:
<object>
<obj_name>hero1</obj_name>
<field>
</field>
</object>
<object>
<obj_name>hero2</obj_name>
<field>
</field>
</object>
在我想要拥有之后:
<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;
答案 0 :(得分:2)
您当前拥有的不是XML,因为XML中不允许两个根元素。
您的标题和开头的问题与您的代码不一致。您已经有两个根元素,并且正试图将它们包装在一个根元素中,以便拥有格式正确的XML。
您不能使用XML库处理格式不正确的XML(因为它不是XML);首先,您必须修理它。以文本形式读取文件,添加包装器根元素,然后将其解析为XML。有关处理问题“ XML”的更多详细信息,请参见How to parse invalid (bad / not well-formed) XML?