C#XMLReader ReadString如何读取包含嵌套xml的所有内容?

时间:2014-11-23 04:06:37

标签: c# xml xml-parsing xmlreader

包含以下示例数据的我的xml文件

 <FRUIT>
 <HTML><B>1.</B> Apple</HTML>
 <HTML><B>2.</B> Banana</HTML>
 </FRUIT>

和我的代码

XmlReader xmlr = XmlReader.Create(myxmlfile);
while (xmlr.Read())
{
  if ((xmlr.IsStartElement()) && (xmlr.Name == "HTML"))
  {
    // this will return blank string!
    html = xmlr.ReadString();
  }
}

我需要获取完整的<B>1.</B> Apple

字符串

我如何用ReadString()读取HTML元素中的所有内容?

1 个答案:

答案 0 :(得分:0)

如果结构已修复,并且您之前知道了元素,则可以执行以下操作:

 List<string> bananas = new List<>string();
 string contents = string.Empty;
    xmlr.ReadToFollowing("HTML");
    do
    {   
        contents = xmlr.ReadInnerXML();
        if(!string.IsNullOrEmpty(contents))
        {        
            bananas.Add(contents);  
        }

    }while(!string.IsNullOrEmpty(contents))

另请阅读XMLReader on MSDN