在asp.net中访问xml节点值时出现问题

发布于 2024-12-04 02:59:18 字数 579 浏览 1 评论 0原文

我编写了以下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>

I have written the following asp.net code ,How to access the value of minvalue from color node and bgcolor from chart node ?

XmlDocument doc = new XmlDocument();
string xmlFile = System.Web.HttpContext.Current.Server.MapPath("Data/Example.xml");
doc.Load(xmlFile);
XmlNodeList xmlnode = doc.GetElementsByTagName("value");

My XML looks like this:

<Chart editMode='1' bgColor='FFFFFF' bgAlpha='0' showBorder='0' upperLimit='1000' >
   <colorRange> 
      <color minValue='0' maxValue='100' code='F6BD0F' />
   </colorRange>
   <value>665</value>
</Chart>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

慈悲佛祖 2024-12-11 02:59:18

只需使用 XPath:

var minValue = doc.SelectSingleNode("//Chart/colorRange/color/@minValue").Value;

Just use the XPath:

var minValue = doc.SelectSingleNode("//Chart/colorRange/color/@minValue").Value;
剧终人散尽 2024-12-11 02:59:18

试试这个..

        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 建议之一可能会更容易

Try this..

        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;

EDIT: This code should now work, but it would probably be easier to use one of the XPath suggestions posted

別甾虛僞 2024-12-11 02:59:18

您可以转到此处并粘贴您的 XML 片段:

Online XPath Tester

然后您会意识到您可以使用这样的 XPATH 选择您的值,例如:

//Chart/Value

you can go here and paste your XML fragment:

Online XPath Tester

then you will realize that you can select your value with an XPATH like this, for example:

//Chart/Value
一城柳絮吹成雪 2024-12-11 02:59:18

使用 System.Xml.Linq 中的 XDocument 类,您将能够这样做:

var minValue=doc.Root.Element("colorRange").Element("color").Attribute("minValue").Value;

var bgColor = doc.Root.Attribute("bgColor").Value;

Use XDocument class from System.Xml.Linq and you will be able to do it like this:

var minValue=doc.Root.Element("colorRange").Element("color").Attribute("minValue").Value;

var bgColor = doc.Root.Attribute("bgColor").Value;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文