需要解析xml字符串

时间:2010-09-27 04:12:51

标签: c# .net xml xsd

我需要解析一个xml字符串(.NET,C#),遗憾的是,它没有很好地形成..我要回来的xml流是

<fOpen>true</fOpen>
<ixBugParent>0</ixBugParent>
<sLatestTextSummary></sLatestTextSummary>
<sProject>Vantive</sProject>
<ixArea>9</ixArea>

我尝试过使用xml阅读器,但是因为它认为它崩溃了,而且理所当然地,它有2个节点元素,无论它试图解析

我能用这件事做点什么吗?我无法更改XML,因为我无法控制发送XML的代码..

任何帮助,将不胜感激。

谢谢和问候

Gagan Janjua

2 个答案:

答案 0 :(得分:7)

我认为您可以使用其中一个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);
    }

答案 1 :(得分:1)

你得到的是格式良好的XML 片段,但正如你所指出的,不是格式良好的XML文档。你能

吗?
  • 围绕返回的元素包装顶级元素?或
  • 从shell XML文档中引用返回的XML片段作为外部实体,并将shell文档传递给XML reader?