XML阅读问题

时间:2015-10-13 13:41:49

标签: c# .net xml

我有以下XML文档...为了简单起见,我刚刚留下了一条“线”。

<?xml version="1.0" encoding="UTF-8"?>
<files>
  <file type="INVOICES">
    <document>blah.pdf</document>
    <line>
        <field name="JobNo">321654</field>
        <field name="Issues">1</field>
        <field name="PageCount">200</field>
        <field name="PrintRun">250</field>
        <field name="Size">Small</field>
    </line>
  </file>
</files>

C#代码:

static void Main(string[] args)
{
    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load("input.xml");
    XmlNodeList itemNodes = xmlDoc.SelectNodes("//files/file/line");
    foreach (XmlNode itemNode in itemNodes)
    {
         XmlNode jobNo = itemNode.SelectSingleNode("field");

         if (jobNo != null) 
              Console.WriteLine(jobNo.InnerText);
     }
     Console.ReadKey();   
}

这会遍历每一行并显示作业编号,但是我想通过它的名称JobNo访问该字段,即 通过...访问<field name="JobNo">321654</field>

jobNo = itemNode.SelectSingleNode("JobNo");

我知道我可以更改xml,但XML是由客户提供的,所以这不是一个真正的选择。

1 个答案:

答案 0 :(得分:1)

您可以通过提供属性名称和值(例如

)来访问该特定字段元素
XmlNode jobNo = itemNode.SelectSingleNode("field[@name='JobNo']");