XML使用XmlDocument解析嵌套节点

时间:2012-03-13 21:04:51

标签: c# xml xml-parsing xmldocument

我正在尝试获取每个PMT部分中的所有PV值。我如何使用XmlDocument做到这一点?

我可以使用

获取所有PV和所有PMT
XmlNodeList PMTList = reader.SelectNodes("/PARM/PMT");
XmlNodeList PVList = reader.SelectNodes("/PARM/PMT/PV");

foreach (XmlNode node in PMTList)
{
   Console.WriteLine(node.Attributes.GetNamedItem("NM").Value);
}
foreach (XmlNode node in PVList)
{
   Console.WriteLine(node.Attributes.GetNamedItem("PV").Value);
}

但我无法弄清楚如何按部分获取它。使用PMT获取所有PV。 Blow是我想要的一个例子和我的xml。请帮忙!谢谢!

实施例

SOCIETY CODE
  SPE
  OTC
  ARMA
  ...

CONTENT_TYPE
   Conference Paper
   Journal Paper
   ...

示例XML

<PARM>
    <PC>0</PC>
    <PMT NM="SOCIETY_CODE" DN="Publisher" IR="0" T="0">
        <PV V="SPE" L="" H="" C="444"/>
        <PV V="OTC" L="" H="" C="24"/>
        <PV V="ARMA" L="" H="" C="11"/>
        <PV V="SEG" L="" H="" C="11"/>
        <PV V="IPTC" L="" H="" C="8"/>
        <PV V="NACE" L="" H="" C="1"/>
     </PMT>
     <PMT NM="CONTENT_TYPE" DN="Content Type" IR="0" T="0">
        <PV V="Conference Paper" L="" H="" C="468"/>
        <PV V="Journal Paper" L="" H="" C="30"/>
        <PV V="Other" L="" H="" C="1"/>
     </PMT>
</PARM>

0 个答案:

没有答案