将字符串转换为xml节点
问题描述:
我有字符串,它包含从PHP文件返回的xml节点。 这就像将字符串转换为xml节点
<a>1</a><b>0</b><c>4</c>..............
现在我需要找出值的每个节点都,即A,B,C ...... 而这个字符串加载到XmlDocument的我得到错误,如“有多重根元素“。
此
答
well-formed XML的基本规则之一是它具有单个根节点。随着你的榜样,你有多个根:
<a>1</a>
<b>0</b>
<c>4</c>
为了使其充分形成,你将不得不作出这些元素单根的孩子:
<root>
<a>1</a>
<b>0</b>
<c>4</c>
</root>
的XML文档不是很好-formed并不是一个真正的XML文档,你会发现没有XML解析器能够读取它!
答
任何溶液包装在一个根元素。 E.g:
从<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);