我正试着让这玩意儿运转起来。我有一个XML文件,需要使用XPath过滤元素“title”。之后,我需要将C元素下的所有内容复制到外部文件中,但现在不是重点。我需要用xml.etree.cElementTree或者xml.etree.ElementTree. 我已经在stackoverflow和其他网站上读了很多帖子,结果被卡住了。 秀。。首先是XML结构:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<delivery xmlns="http://url" publicationdate="2013-08-28T09:10:32Z">
<A>
<B>
<C>
<Cid>XXXXXXXXX</Cid>
<cref>111111-2222222</cref>
<D>
<E/>
<F/>
<G/>
<H>
<Href>XXXXXXXXXXXX</Href>
<hcont name="XXXXXX" country="EN"/>
</H>
<I/>
<J/>
<K>XXXXXXXXX</K>
<oldK>XXXXXXX</oldK>
<title>
<content lang="en">TITLE</content>
</title>
<L>
<isL>false</isL>
</L>
</D>
<M>
<startTime>2013-08-28T03:00:00Z</startTime>
<endTime>2013-08-29T00:58:00Z</endTime>
</M>
</C>
</B>
</A>
</delivery>
我甚至不能通过XPath找到Cid元素。脚本一直返回“None”或[]或什么都不返回。在
^{pr2}$这个没有回报。如何让它工作?如何“找到”哪怕是Cid元素?在
您应该将
namespaces
参数传递给findall()
:但是,对于默认名称空间,这是行不通的(在您的例子中,只有
xmlns
)。在在这种情况下,可以显式地将命名空间传递给xpath:
^{pr2}$另请参见:
相关问题 更多 >
编程相关推荐