我尝试获取节点的值,但它总是返回一个空字符串。就我所读的而言,我必须先访问该节点才能阅读它,但我还没有找到执行此操作的示例/语法。我的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/

10-12 05:09