在堆栈溢出的大量帮助下,我设法让一些python代码处理xml文件(使用lxml)。我已经能够适应很多不同的目的,但有一件事我不能解决。在
XML示例:
<?xml version="1.0" encoding="UTF-8" ?>
<TVAMain xml:lang="PL" publisher="Someone" publicationTime="2014-01-03T06:24:24+00:00" version="217" xmlns="urn:tva:metadata:2010" xmlns:mpeg7="urn:tva:mpeg7:2008" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tva:metadata:2010 http://Something.xsd">
<ProgramDescription>
<ProgramInformationTable>
<ProgramInformation programId="crid://bds.tv/88032"><BasicDescription>
<Title xml:lang="PL" type="episodeTitle">Some Title</Title>
<Synopsis xml:lang="PL" length="short">Some Synopsis</Synopsis>
<Genre href="urn:tva:metadata:cs:EventGenreCS:2009:96">
<Name xml:lang="EN">Some Genre</Name>
</Genre>
<Language>PL</Language>
<RelatedMaterial>
<HowRelated href="urn:eventis:metadata:cs:HowRelatedCS:2010:boxCover">
<Name>Box cover</Name>
</HowRelated>
<MediaLocator>
<mpeg7:MediaUri>file://Images/98528834.p.jpg</mpeg7:MediaUri>
</MediaLocator>
</RelatedMaterial>
python代码将返回标题、流派和概要,但不会返回图像引用(从底部开始的第三行)。我想这是因为名称格式'mpeg7:MediaUri'(我无法更改)。代码将返回“No Image”字符串。在
这是相关的python代码
^{pr2}$有人能解释一下我如何调整'imagex'行,使它返回'文件://Images/98528834.p.jpg“从这个例子来看?我曾试过使用方括号,但它导致了一个错误。在
您感兴趣的节点具有
mpeg7
名称空间,而不是默认名称空间。您可以尝试使用以下语法*[local-name() = "elementName"]
根据元素的本地名称匹配元素(忽略命名空间):或在名称空间声明中添加
^{pr2}$mpeg7
:然后可以在xpath查询中使用
^{3}$mpeg7
前缀:相关问题 更多 >
编程相关推荐