获取en-US个标题标签文本

obtain en-US title tag text

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

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=en-US 文本,但它不起作用。

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

如何只获取英文项目的文本?

表达式

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

将 select 所有 English-language 标题。具体来说:

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

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

如果您特别想要美国英语标题,不包括其他形式的英语,那么您可以使用谓词 [lang('en-US')].