获取美国标题标签文本

时间:2018-08-17 01:46:57

标签: python-3.x xpath lxml

我试图仅在XML文件的title @ lang = zh-CN元素中获取文本。 此代码获取所有语言的所有标题文本。

entries = root.xpath('//prefix:new-item', namespaces={'prefix': 'http://mynamespace'})
for entry in entries: 
    all_titles = entry.xpath('./prefix:title', namespaces={'prefix': 'http://mynamespace'})
    for title in all_titles:
       print (title.text)

我尝试使用此代码来获取title @ lang = zh-CN文本,但是它不起作用。

all_titles = entry.xpath('./prefix:title', namespaces={'prefix': 'http://mynamespace'})
for title in all_titles:
  test = title.xpath("@lang='en-US'")
  print (test)

如何仅获取英语项目的文本?

1 个答案:

答案 0 :(得分:1)

表达式

//prefix:title[lang('en')]

将选择所有英语标题。具体来说:

    具有title属性的
  • xml:lang元素将标题标识为英语,例如<title xml:lang="en-US"><title xml:lang="en-GB">

  • 某个容器中的
  • title元素可将所有内容标识为英语,例如<section xml:lang="en-US"><title/></section>

如果您只想要美国英语标题,但不包括其他英语形式,则可以使用谓词[lang('en-US')]