如何从C#

时间:2015-06-20 15:45:13

标签: c# xml xpath

我有一个像这样的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是压力预测图表有效的时间。每个时间节点还包含一个属性,该属性的值为“时间”节点值的未来小时数。

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

这就是我出现问题的地方:我循环遍历新的时间列表以下载它们,但是URL需要小时值,该小时值不会存储在循环列表中,而是作为属性存储在xml文件中。我需要使用节点的值(我在列表中循环的时间)获取作为属性的小时值。我经历了很多次搜索,试图找到答案,但我得到的只是如何找到具有特定属性值的节点的值(我知道该怎么做,使用节点[@attribute =&#39; value& #39;] /节点)。如何执行相反的操作并从其节点的值中查找属性的值?谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

这个怎么样:

 //Time[text() = '...']/@hours
相关问题