Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 获取en US标题标签文本_Python 3.x_Xpath_Lxml - Fatal编程技术网

Python 3.x 获取en US标题标签文本

Python 3.x 获取en US标题标签文本,python-3.x,xpath,lxml,Python 3.x,Xpath,Lxml,我正试图只以最简单的方式获取文本title@lang=XML文件中的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://myn

我正试图只以最简单的方式获取文本title@lang=XML文件中的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')]
将选择所有英文标题。具体而言:

  • title
    元素具有将标题标识为英语的
    xml:lang
    属性,例如

  • title
    某些容器中标识所有内容为英语的元素,例如


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

当我这样做时,这个答案有效:。//前缀:title[lang('en')]