我有以下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是由客户提供的,所以这不是一个真正的选择。
答案 0 :(得分:1)
您可以通过提供属性名称和值(例如
)来访问该特定字段元素XmlNode jobNo = itemNode.SelectSingleNode("field[@name='JobNo']");