使用Python查找子元素的特定XML属性?

使用Python查找子元素的特定XML属性?,python,xml,parsing,Python,Xml,Parsing,任何帮助都将不胜感激 您可以使用带有XPath表达式的findall来提取所需的值。为了完成文档,我从您的示例数据中稍微推断了一下,并有两个p元素: import xml.etree.ElementTree as ET tree = ET.parse(journals.xml) root = tree.getroot() for title in root.iter("title"): ET.dump(title) 结果: import xml.etree.ElementTree

任何帮助都将不胜感激

您可以使用带有XPath表达式的
findall
来提取所需的值。为了完成文档,我从您的示例数据中稍微推断了一下,并有两个
p
元素:

import xml.etree.ElementTree as ET  

tree = ET.parse(journals.xml)
root = tree.getroot()
for title in root.iter("title"):
    ET.dump(title)
结果:

import xml.etree.ElementTree as ET

doc = ET.parse('journals.xml')
print([p.text for p in doc.findall('.//sec[@sec-type="funding"]/p')])

您可以使用带有XPath表达式的
findall
来提取所需的值。为了完成文档,我从您的示例数据中稍微推断了一下,并有两个
p
元素:

import xml.etree.ElementTree as ET  

tree = ET.parse(journals.xml)
root = tree.getroot()
for title in root.iter("title"):
    ET.dump(title)
结果:

import xml.etree.ElementTree as ET

doc = ET.parse('journals.xml')
print([p.text for p in doc.findall('.//sec[@sec-type="funding"]/p')])

你能给出一个完整有效XML的例子吗?你能给出一个完整有效XML的例子吗?谢谢你的回答。有没有一种方法可以将这个XPath表达式与对特定元素文本的简单搜索结合起来,这样我就可以为每篇文章获得标题和相应的资金信息
for elem in tree.iter(tag='article-id'):print(elem.text)print([p.text for p in doc.findall('.//sec[@sec type=“funding”]/p'))
。有没有一种方法可以将这个XPath表达式与对特定元素文本的简单搜索结合起来,这样我就可以为每篇文章获得标题和相应的资金信息
for elem in tree.iter(tag='article-id'):print(elem.text)print([p.text for p in doc.findall('.//sec[@sec type=“funding”]/p')))
['This work was supported by the NIH', "I'm a little teapot"]