我在ElementTree中使用XPath Selector时遇到问题。有没有办法使用下面的示例动态更改数据的提取方式。
让我们说我正在解析文件,我想提取目标中的所有文本。有没有办法使用一个调用来使用一个" child" .find(.// target / *)调用,当循环时都会获得/ target / p / em,/ target /中的文本,/ target / *,/ target / ** 在我真正的问题中,我有大量不同的数据,并希望能够将它添加到字典中以便稍后引用它 即
page_values = {
'first': child.find('.//first-name').text or "",
'last': child.find('.//last-name').text or "",
'biography': child.find('.//biography').text or ""
}
当传记中有大量的格式应用于此时我遇到了问题所以我不得不称之为
'biography': child.find('.//biography/p/em').text or ""
并且下一次循环我需要像
一样调用它'biography': child.find(.//biography/).text or ""
示例代码:
XML
<root>
<target>
<p>
<em>text</em>
</p>
</target>
</root>
VS
<root>
<target>
text
</target>
</root>