怎么获取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")
[解决办法]
[解决办法]
GetAttribute("name")正解