首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

如何获取XML节点的属性

2012-04-03 
怎么获取XML节点的属性我有一个XML文件是这样的,我想要获取functions下面的所有子节点,然后读取name属性XM

怎么获取XML节点的属性
我有一个XML文件是这样的,我想要获取functions下面的所有子节点,然后读取name属性

XML code
<?xml version="1.0" encoding="UTF-8"?><protocal>  <name>P1PPP</name>  <version>1</version>  <functions>    <function name="readRTData">      <funcID>1</funcID>      <start>1</start>      <end>20</end>    </function>    <function name="readVerifyData">      <funcID>2</funcID>      <start>21</start>      <end>40</end>    </function>    <function name="writeCtrlData">      <funcID>3</funcID>      <start>41</start>      <end>60</end>    </function>  </functions>  <registers>    <register name="uvol_fr ">      <addr>0</addr>      <type>0</type>      <property>1</property>    </register>    <register name="uvol_total_p">      <addr>2</addr>      <type>0</type>      <property>1</property>    </register>  </registers></protocal>


代码是这样的
C# code
XmlNode xmllist = XMLHelper.GetXmlNodeByXpath(filename, "/protocal/functions");            foreach (XmlNode n in xmllist.ChildNodes)            {                Debug.WriteLine(n.Attributes["name"]);                foreach (XmlNode x in n.ChildNodes)                    Debug.WriteLine(x.Name + "  " + x.InnerText);            }

为什么Debug.WriteLine(n.Attributes["name"]);这个不能读出name这个属性呢?


[解决办法]
n.Attributes["name"].Value
[解决办法]
n.Attributes["name"].Value 
正确 
我们都是用jquery的 不然XML在其他浏览器上会存在兼容性问题的 后面很麻烦的

jquery例子:

 var xmlRoot = $(xmlNode).find('NewDataSet').children('Table');

直接去找节点 find属性
[解决办法]
GetAttribute("name")
[解决办法]
探讨

n.Attributes["name"].Value

[解决办法]
GetAttribute("name")正解

热点排行