如何根据 XML 的 XPath 子节点值获取特定块(组)?
How to get specific block(group) based on child node's value in XPath from the XML?
我是 XPath 的新手。我有以下 XML 文件。
这是我的 xml 文件:
<?xml version='1.0' encoding='utf-8'?>
<items>
<item>
<country>India</country>
<referenceId>IN375TP</referenceId>
<price>400</price>
</item>
<item>
<country>Australia</country>
<referenceId>AU120ED</referenceId>
<price>15</price>
</item>
<item>
<country>United Kingdom</country>
<referenceId>UK862RB</referenceId>
<price>20</price>
</item>
</items>
我想要以下 <item>
标签作为输出:
<item>
<country>Australia</country>
<referenceId>AU120ED</referenceId>
<price>15</price>
</item>
注意:请使用/items/item[referenceId/text()="AU120ED"]
等条件
如果您想按国家/地区查找项目,您可以使用 xpath 指定您要在具有 text=country_name 的项目中查找该项目:
from lxml.etree import parse, HTMLParser
xml = parse("check.xml",HTMLParser())
print(xml.find("//items//item[country='Australia']"))
<Element item at 0x7f40faa28950>
如果你真的想搜索是referenceid,只需更改为item[referenceid='AU120ED']
:
print(xml.find("//items//item[referenceid='AU120ED']"))
<Element item at 0x7f02c0c24998>
对于xml:
from xml.etree import ElementTree as et
xml = et.parse("check.xml")
print(xml.find(".").find("./item[referenceId='AU120ED']"))
我是 XPath 的新手。我有以下 XML 文件。 这是我的 xml 文件:
<?xml version='1.0' encoding='utf-8'?>
<items>
<item>
<country>India</country>
<referenceId>IN375TP</referenceId>
<price>400</price>
</item>
<item>
<country>Australia</country>
<referenceId>AU120ED</referenceId>
<price>15</price>
</item>
<item>
<country>United Kingdom</country>
<referenceId>UK862RB</referenceId>
<price>20</price>
</item>
</items>
我想要以下 <item>
标签作为输出:
<item>
<country>Australia</country>
<referenceId>AU120ED</referenceId>
<price>15</price>
</item>
注意:请使用/items/item[referenceId/text()="AU120ED"]
如果您想按国家/地区查找项目,您可以使用 xpath 指定您要在具有 text=country_name 的项目中查找该项目:
from lxml.etree import parse, HTMLParser
xml = parse("check.xml",HTMLParser())
print(xml.find("//items//item[country='Australia']"))
<Element item at 0x7f40faa28950>
如果你真的想搜索是referenceid,只需更改为item[referenceid='AU120ED']
:
print(xml.find("//items//item[referenceid='AU120ED']"))
<Element item at 0x7f02c0c24998>
对于xml:
from xml.etree import ElementTree as et
xml = et.parse("check.xml")
print(xml.find(".").find("./item[referenceId='AU120ED']"))