c# - 使用 XMLTextReader 读取节点值

标签 c# xml xmlreader

我尝试获取节点的值,但它总是返回一个空字符串。据我所知,我必须先访问节点才能阅读它,但我还没有找到一个示例/语法来完成它。我的 XMLNode 名称是“BuyNowPrice”,并且多次出现在我的 XML 文件中。

using (XmlReader xmlReader = XmlTextReader.Create(@"C:\benatia.xml"))
{
    while (xmlReader.Read())
    {
        if (xmlReader.IsStartElement())
        {
            if (xmlReader.Name == "BuyNowPrice") Console.WriteLine(xmlReader.Name + ": " + xmlReader.Value);
        }
    }
}

最佳答案

为了读取元素的内容,需要调用ReadElementContentXxxxx()方法。

if (xmlReader.IsStartElement())
 {
 if (xmlReader.Name == "BuyNowPrice") 
      Console.WriteLine(xmlReader.Name + ": " 
              + xmlReader.ReadElementContentAsString());
}

LinqToXml

XDocument xml = XDocument.Load(file);
foreach(var e in xml.Descendants("BuyNowPrice"))
{
 Console.WriteLine(e.Name + " : " + (string)e);
}

关于c# - 使用 XMLTextReader 读取节点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28206135/

相关文章:

c# - Unity 和 Container.Resolve

c# - 是否有更快的方法来突出显示正则表达式匹配项 (RichTextBox)

c# - 在repeater控件中找到对应的控件

java - Spring xml + JUnit - xml 上下文文件在 src/test/resources 中不起作用但在 src/main/resources 中起作用

android - LibGDX 读取 XML 文件

c# - 对象到/从 XML : generic Load and Save

xml - XPath 如何以 namespace 未知的方式识别谓词中的属性

xml - 将属性值指定为 CDATA

C# 计算 xml 提要哈希的最佳方法是什么

c# - 检查 xmlReader 是否是具体的结束元素