将xml字符串传递给System.Xml.Linq.XElement时,避免xml转义尖括号

Dha*_*lla 0 c# xml xelement

我收到了一个字符串string GetXmlString(); 我无法改变.

我必须将它附加new XElement ("parent" , ... );到...区域内的xml中.

我得到的这个字符串具有以下格式.

<tag name="" value =""></tag>
<tag name="" value =""></tag>
<tag name="" value =""></tag>
...
Run Code Online (Sandbox Code Playgroud)

我想要的最终结果是这样的

<parent>
<tag name="" value =""></tag>
<tag name="" value =""></tag>
<tag name="" value =""></tag>
<tag name="" value =""></tag>
<tag name="" value =""></tag>
...
</parent>
Run Code Online (Sandbox Code Playgroud)

当我只是传递字符串时,XElement("root", GetXmlString()) <和>被编码为&lt;和&gt

当我尝试XElement.Parse(GetXmlString())或XDocument.Parse(GetXmlString())我得到有多个根元素异常.

如何在不转出括号的情况下获得所需的输出?我错过了什么?

Jon*_*eet 5

最简单的选择可能是给它一个根元素,然后将其解析为XML:

var doc = XDocument.Parse("<parent>" + text + "</parent>");
Run Code Online (Sandbox Code Playgroud)

如果需要附加到现有元素,可以使用:

var elements = XElement.Parse("<parent>" + text + "</parent>").Elements();
existingElement.Add(elements);
Run Code Online (Sandbox Code Playgroud)