我有很多A
元素的这种简化的xml:蟒蛇的XPath:比较日期
<root>
<A class="a" version="7">
<details>
<dates>
<status date="2013-04-29T04:16:49.792-04:00">ACCEPTED</status>
<status date="2013-08-12T04:08:23.773-04:00">ACCEPTED</status>
</dates>
</details>
</A>
<A class="a" version="7">
...
</root>
如何获得只有那些A
元素的最后状态日期比使用lxml的XPath的特定时间点更大。
我迄今所做的:
from lxml import etree
tree = etree.parse("./my.xml")
root = tree.getroot()
res = root.xpath("A[./details/dates/status[last()]/@date > '2013-08-12T00:00:0.000-04:00' ]");
但这段代码的问题是比较总是假返回出于某种原因,所以res
总是空。
任何帮助或建议表示赞赏。
我担心这不会如预期的那样工作,因为关闭xpath/lxml(屁点浮点数)表示形式。这将是'2.01308120408e + 20.'因此它需要更复杂的xapth(例如,比较日期'substring-before(...,'T')'和时间。 –