我有用于解析来自不同目录的多个XML文件的代码:
for file in glob.iglob(os.path.join(dir, '100/**/*.xml')):
with open(file) as f:
data = etree.parse(f)
XML文件的格式为:
<us1>
<us2>
<p-r>
<document-id>
<country>US</country>
<doc-number>07640598</doc-number>
<kind>B1</kind>
<date>20100105</date>
</document-id>
</p-r>
<ab>
<c>
<document-id>
<country>US1</country>
<doc-number>07640598989834</doc-number>
<kind>B5</kind>
<date>20100106</date>
</document-id>
</c>
</ab>
</us2></us1>
现在,我想在&#34; doc-number&#34;中提取文字。在目录中存在的所有xml文件和变量存储之间。提取的数据是07640598。 如何提取选定的值并将其存储在变量??
中答案 0 :(得分:0)
您可以使用简单的XPath表达式来获取Car::available()->pluck('plate_no' , 'id');
中特定名称的元素,例如:
ElementTree
如果你想让doc_no = data.find('.//doc-number')
if doc_no is not None:
print doc_no.text
成为doc-number
的孩子,那么XPath表达式会略有变化:
p-r