C# XMLReader ReadString 如何读取元素中的嵌套 XML 的所有内容

本文关键字:嵌套 XML 元素 ReadString XMLReader 何读取 读取 | 更新日期: 2023-09-27 18:31:45

我的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 元素中的所有内容?

C# XMLReader ReadString 如何读取元素中的嵌套 XML 的所有内容

如果结构是固定的,并且您知道之前的元素,那么您可以这样做:

 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))

另请阅读 MSDN 上的 XMLReader

相关文章: