繁体   English   中英

如何从C#中的特定ELEMENT VALUE检索ATTRIBUTE VALUE

[英]How to retrieve ATTRIBUTE VALUE from specific ELEMENT VALUE in C#

我有一个这样的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<PresCrt>
  <Times>
    <Time hours="0">2015-06-20T00:00:00Z</Time>
    <Time hours="12">2015-06-20T12:00:00Z</Time>
    <Time hours="24">2015-06-21T00:00:00Z</Time>
    <Time hours="36">2015-06-21T12:00:00Z</Time>
    <Time hours="48">2015-06-22T00:00:00Z</Time>
    <Time hours="60">2015-06-22T12:00:00Z</Time>
    <Time hours="72">2015-06-23T00:00:00Z</Time>
    <Time hours="84">2015-06-23T12:00:00Z</Time>
  </Times>
</PresCrt>

它包含“时间”节点,该节点的值/ InnerText为压力预测图表的有效时间。 每个“时间”节点还包含一个属性,该属性的值表示该“时间”节点的值所在的未来小时数。

在我的程序中,我下载了新数据,并从中提取了时间和小时数值,并将其保存为上述格式。 我还制作了新值的列表(字符串)。 然后,我使用XPath遍历新下载的数据中的时间,并使用List.Contains包含在List(string)中,以查看它们是否已经在List(string)中。 列表中尚未存在的任何内容都会添加到新的List(string)中,以便以后可以下载其图表。

这是我发生问题的地方:我遍历新的时间列表以下载它们,但是URL要求小时值,该值不存储在循环列表中而是作为属性存储在xml文件中。 我需要使用节点的值(我在列表中循环的时间)来获得小时值,这是一个属性。 我经过了很多搜索来尝试找到答案,但是我所得到的只是如何找到具有特定属性值的节点的值(无论如何,我都知道如何使用node [@ attribute ='value'] /节点)。 我该如何做相反的事情,并从其节点的值中找到属性的值? 谢谢你的帮助

这个怎么样:

 //Time[text() = '...']/@hours

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM