如何将额外的根添加到已加载的xml文件C#

时间:2019-05-06 18:44:56

标签: c# xml

有人可以告诉我如何在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;

1 个答案:

答案 0 :(得分:2)

您当前拥有的不是XML,因为XML中不允许两个根元素。

您的标题和开头的问题与您的代码不一致。您已经有两个根元素,并且正试图将它们包装在一个根元素中,以便拥有格式正确的XML。

您不能使用XML库处理格式不正确的XML(因为它不是XML);首先,您必须修理它。以文本形式读取文件,添加包装器根元素,然后将其解析为XML。有关处理问题“ XML”的更多详细信息,请参见How to parse invalid (bad / not well-formed) XML?