在asp.net中访问xml节点值的问题
本文关键字:节点 问题 xml 访问 asp net | 更新日期: 2023-09-27 18:08:21
我写了下面的asp.net代码,如何访问minvalue的值从颜色节点和bgcolor从图表节点?
XmlDocument doc = new XmlDocument();
string xmlFile = System.Web.HttpContext.Current.Server.MapPath("Data/Example.xml");
doc.Load(xmlFile);
XmlNodeList xmlnode = doc.GetElementsByTagName("value");
我的XML是这样的:
<Chart editMode='1' bgColor='FFFFFF' bgAlpha='0' showBorder='0' upperLimit='1000' >
<colorRange>
<color minValue='0' maxValue='100' code='F6BD0F' />
</colorRange>
<value>665</value>
</Chart>
使用XPath:
var minValue = doc.SelectSingleNode("//Chart/colorRange/color/@minValue").Value;
试试这个…
XmlNode chartNode = doc.GetElementsByTagName("Chart")[0];
XmlNode colorNode = doc.GetElementsByTagName("Chart")[0].ChildNodes[0].ChildNodes[0];
string minvalue = colorNode.Attributes["minValue"].Value;
string bgColor = chartNode.Attributes["bgColor"].Value;
编辑:这段代码现在应该可以工作了,但是使用上面的XPath建议可能会更容易一些
你可以在这里粘贴你的XML片段:
在线XPath测试器
,那么您就会意识到可以使用这样的XPATH来选择值,例如:
//Chart/Value
使用System.Xml.Linq中的XDocument类,您将能够这样做:
var minValue=doc.Root.Element("colorRange").Element("color").Attribute("minValue").Value;
var bgColor = doc.Root.Attribute("bgColor").Value;