简体   繁体   English

ElementTree元素索引查找

[英]ElementTree element index look up

I'm using the xml.etree.ElementTree module to create an XML document with Python 3.1 from another structured document. 我正在使用xml.etree.ElementTree模块从另一个结构化文档中使用Python 3.1创建XML文档。

What ElementTree function can I use that returns the index of an existing subelement? 我可以使用哪个ElementTree函数返回现有子元素的索引?

The getchildren method returns a list of sub-elements of an Element object. getchildren方法返回Element对象的子元素列表。 You could then use the built-in index method of a list. 然后,您可以使用列表的内置索引方法。

>>> import xml.etree.ElementTree as ET
>>> root = ET.Element("html")
>>> head = ET.SubElement(root, "head")
>>> body = ET.SubElement(root, "body")
>>> root.getchildren().index(body)
1
import xml.etree.ElementTree as ET
root=ET.Element('C:\Users\Administrator\Desktop\ValidationToolKit_15.9\ValidationToolKit_15.9\NE3S_VTK\webservice\history\ofas.2017-1-3.10-55-21-608.xml')
childnew=ET.SubElement(root,"354")
root.getchildren().index(childnew)
0
list(root).index(childnew)
0
def Alarms_Validation(self,path,AlarmNo,AlarmText,Severity,Text,Event):
    with open(path) as f:
        tree = et.parse(f)
        RUN=True
        root = tree.getroot()
        try:

                for x in xrange(10000):
                        print x
                        for y in xrange(6):
                                print y
                                if root[x][y].text==AlarmNo:
                                        print "found"
                                        print x
                                        print y
                                        if root[x][y+1].text!=AlarmText:
                                            print "Alarm text is not proper"
                                        else:
                                            print "Alarm Text is proper"
        except IndexError:
                pass

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM