我试图仅在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)
如何仅获取英语项目的文本?
答案 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')]
。