对于这种XML格式,我有一组XPATHS
。问题是,有时它指定了名称空间
<?xml version="1.0" encoding="UTF-8"?>
<SHOP xmlns="http://www.zbozi.cz/ns/offer/1.0">
<SHOPITEM>
<PRODUCTNAME>Crysta váza 4 CM</PRODUCTNAME>
<DESCRIPTION><![CDATA[Český producent je vážený po celém světě
在这种情况下,我不能这样做来获取所有SHOPITEM项目:
root.xpath('//SHOPITEM')
我需要指定名称空间,然后为每个标记添加前缀
root.xpath('//g:SHOPITEM',namespaces={'g':'http://www.zbozi.cz/ns/offer/1.0'})
因为当我这样做的时候:
root.xpath('//SHOPITEM',namespaces={'':'http://www.zbozi.cz/ns/offer/1.0'})
它说:
empty namespace prefix is not supported in xpath
但我不能在所有标签前面加上“g”。有更好的方法吗?使lxml
树的行为就像没有namespace
一样,或者只是自动解析它
目前没有回答
相关问题 更多 >
编程相关推荐