将字符串转换为 xml 节点
本文关键字:xml 节点 转换 字符串 | 更新日期: 2023-09-27 17:56:48
我有字符串,它包含从PHP文件返回的xml节点。就像
<a>1</a><b>0</b><c>4</c>..............
现在我需要找出每个节点具有什么值,即 a、b、c......将此字符串加载到 xmlDocument 时,我收到类似"有多个根元素"之类的错误。
任何解决方案
格式正确的XML的基本规则之一是它具有单个根节点。在您的示例中,您有多个根:
<a>1</a>
<b>0</b>
<c>4</c>
要使其格式正确,您必须使这些元素成为单个根的子元素:
<root>
<a>1</a>
<b>0</b>
<c>4</c>
</root>
格式不正确的 XML 文档根本不是真正的 XML 文档,您会发现没有 XML 解析器能够读取它!
将其包装在根元素中。例如:
从<a>1</a><b>2</b>...
到<root><a>1</a><b>2</b>...</root>
然后正常计算。
这是因为每个元素都处于同一级别。需要有一个"根"来包围所有这些。将它们包装在任意节点中,例如<root>...</root>
然后将新字符串加载到 xmlDocument 中。
这
看起来像XML,但它不是有效的XML。在 XML 中,您有一个包装所有其他元素的根元素。
因此,如果您在 str
中具有该字符串,请执行以下操作:
str = String.Format("<root>{0}</root>", str);