繁体   English   中英

从XML读取价值?

[英]reading value from XML?

XML数据:

<LIST>
  <TITLE>Item</TITLE>
  <YEAR>2013</YEAR>
  <NAME>
    <NAME_ n="1">AB</NAME_>
    <NAME_ n="2">CD</NAME_>
    <NAME_ n="3">EF</NAME_>
    <NAME_ n="4">GH</NAME_>
    <NAME_ n="5">IJ</NAME_>
  </NAME>
  <PRICE>
    <PRICE_ n="1">100</PRICE_>
    <PRICE_ n="2">103</PRICE_>
  </PRICE>
  <AV>
    <AV_ n="0">128,457</AV_>
    <AV_ n="1">1,746,301</AV_>
    <AV_ n="2">173,247</AV_>
    <AV_ n="3">246,102</AV_>
  </AV>
  <PIC>
    www.example.com/pictest.jpg
  </PIC>
  <URL>www.test.com/itemtest</URL>
</LIST>

我尝试使用以下代码:

XmlTextReader reader = new XmlTextReader(a);
while (reader.Read())
{
    if (reader.Name == "AV")
    {
        label1.Text += reader.Value;
    }

现在,我知道我的代码需要更多帮助,因为我无法获得任何输出!
如何从此XML读取值?

任何人都可以帮助我从XML中获得所有价值吗? bcs我是xml的新手,需要一些示例才能开始工作! :(

要从AV_节点的内容中获取所有数值和属性号,请使用下一个脚本:

string str = "..."; //xml contents go here

var xml = XDocument.Parse(str);

var values = xml.Descendants("AV_")
                .Select(n => n.Attribute("n").Value + " : " + n.Value);


values.ToList()
      .ForEach(Console.WriteLine);

印刷品:

0 : 128,457
1 : 1,746,301
2 : 173,247
3 : 246,102

不要忘记using System.Xml.Linq Linq的引用添加到XML名称空间

您正在查找父元素并获取其文本值。 它没有文本值,只有另一个孩子。

试试吧

        XmlTextReader reader = new XmlTextReader(a);
        while (reader.Read())
        {
            if (reader.Name == "AV_")
            {
                label1.Text += reader.Value;
            }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM