需要解析XML字符串
问题描述:
我需要一个解析XML字符串(.NET,C#),不幸的是,没有很好地形成.. XML流的是我得到的回复是需要解析XML字符串
<fOpen>true</fOpen>
<ixBugParent>0</ixBugParent>
<sLatestTextSummary></sLatestTextSummary>
<sProject>Vantive</sProject>
<ixArea>9</ixArea>
我已经尝试过使用xml读取器,但是因为它认为它崩溃了,理所当然地,当它试图解析时有2个节点元素
有什么我可以用这个做的吗?我不能改变XML,因为我无法控制发回XML的代码..
任何帮助,将不胜感激。
感谢和问候
加甘·扬尤亚
答
我想你可以使用XmlParserContext
在XmlTextReader
重载之一,以指定的节点类型为XmlNodeType.Element
,类似于从MSDN这个例子(http://msdn.microsoft.com/en-us/library/cakk7ha0.aspx):
XmlTextReader tr = new XmlTextReader("<element1> abc </element1>
<element2> qrt </element2>
<?pi asldfjsd ?>
<!-- comment -->", XmlNodeType.Element, null);
while(tr.Read()) {
Console.WriteLine("NodeType: {0} NodeName: {1}", tr.NodeType, tr.Name);
}
答
什么你得到背面是一个良好的XML 片段但正如你指出的那样,不是一个良好的XML文档。你能
- 围绕返回的元素包围一个*元素?或
- 将返回的XML片段作为外部实体从外壳XML文档中引用,并将外壳文档传递给XML阅读器?
这比我提出的答案要容易一些。 – LarsH 2010-09-27 14:44:16