上周我发布了一个关于需要从xml中提取一些条目的问题。我试着用一种相当手工的方式来完成,并建议使用xml解析器。我一直在用lxml做实验,但我无法掌握它的窍门(我才刚刚开始学习python)。在
下面是XML结构的一个示例(“ProgramInformation”将有许多分支)
<TVAMain xml:lang="NL" publisher="" publicationTime="2013-09-12T01:43:09+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>
<ProgramDescription>
<ProgramInformationTable>
<ProgramInformation programId="crid://bds.tv/95291775">
<BasicDescription>
<Title xml:lang="EN" type="main">Rip Off Britain</Title>
<Synopsis xml:lang="EN" length="short">Consumer series. The team investigates why some viewers have been hit with bills they did not expect for hundreds or even thousands of pounds, and offers some advice.</Synopsis>
<Keyword xml:lang="EN" type="main">bills</Keyword>
<Genre href="urn:tva:metadata:cs:UPCEventGenreCS:2009:82">
<Name xml:lang="EN">Economics</Name>
</Genre>
<Language>EN</Language>
</BasicDescription>
</ProgramInformation>
</ProgramInformationTable>
</ProgramDescription>
</TVAMain>
我可以找回“crid”和“title”:
^{pr2}$这两个项目总是在每个分支下的同一个地方(所以理论上我可以用这种相当粗糙的方式检索它们)。不过,我还需要检索类型,这可能会移动(因为前面会有可变数量的“关键字”条目)。在
我认为这一点的关键是XPATH,但我不知道如何实现它(我在这里查看了很多示例)。在
请有人帮我实现以下目标:
1)实现XPATH来检索并将'crid'、title和genre存储到单独的变量中(我将把它写入一个外部文件-所有三个都需要一起编写)
2)遍历每个分支以提取上述内容-将有成千上万个条目。在
提前谢谢!在
尝试以下操作:
相关问题 更多 >
编程相关推荐