如何识别没有ID属性的特定XML元素

时间:2015-11-27 05:19:32

标签: python xml

我正在使用包含许多//Provided code public int getHeight() { return getHeight(root); } private int getHeight(Node node) { if (node==null) { return -1; } else { int leftHeight = getHeight(node.left); int rightHeight = getHeight(node.right); return Math.max(leftHeight, rightHeight) + 1; } } //my code public int getHeightI() { return getHeightI(root); } private int getHeightI(Node node) { Node curr = node; int leftHeight = 0; int rightHeight = 0; if (curr!=null) { while (curr.left!=null) { leftHeight++; curr = curr.left; } while (curr.right!=null) { rightHeight++; curr = curr.right; } } return Math.max(leftHeight, rightHeight)+1; } 元素的XML文档。但它们都没有ID或任何其他属性 - 只是元素标签。有什么方法可以使用python从另一个元素(除内容之外)告诉其中一个元素?例如,元素是否具有一些固有的索引号,这些索引号基于它们在文档中的位置或类似的东西?

1 个答案:

答案 0 :(得分:0)

如果您有lxml ElementTree,并且想要获取特定元素的详细信息:

>>> element
<Element e at 0x7f71068abf38>

您可以在父元素和元素的完整路径中找到元素的索引:

>>> element.getparent().index(element)
0
>>> element.getroottree().getpath(element)
'/root/e[1]'

这就是你所拥有的一切。对于更复杂的信息(例如&#34;全局索引&#34;整个文档中的元素),您应该编写自定义代码。