簡體   English   中英

使用 lxml 的 xml 文件中的節點名稱

[英]Node name from an xml file using lxml

我有一個結構如下的 xml 文件:

<?xml version="1.0" encoding="ISO-8859-1"?>

<root>

<Validity>
  <OneValidity a=1>----</OneValidity>
  <OneValidity a=2>----</OneValidity>
</Validity>

<ValidityLine>
  <OneValidityLinea a=1>----</OneValidityLine>
  <OneValidityLinea a=2>----</OneValidityLine>      
</ValidityLine>

</root>

我想使用 python 和 lxml 庫返回父節點名稱: ValidityValidityLine

from lxml import etree

tree = etree.parse("file.xml")
root = tree.getroot()
validityLst = root.xpath('Validity')
validityLineLst = root.xpath('ValidityLine')

多年后找到了這個答案,並希望為我認為 OP 提出的問題(以及讓我從 Google 來到這里的問題)提供更簡潔的答案:

from lxml import etree

# Parse file and get root node
tree = etree.parse("file.xml")
root = tree.getroot()

# Access root node name
name = root.tag

注意: tag屬性提供了當前節點的名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM