我有很多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')'和時間。 –