繁体   English   中英

使用Python解析XML文件

[英]Parsing XML file with Python

我正在尝试使用Python3.x解析XML文件。 如果找到标签,我想返回True,否则返回False。 我试图一次读入一行并检查-如果未找到则使用递归,但是我不确定实现此目的的最有效方法是什么。 实现这个目标的最有效方法是什么? 这是我的代码:

class XmlFinder():
    def __init__(self, filename):
        self._filename = filename
        self._tokens = []

    def find(self, tag):
        ''' Accepts tag to search for - Parse the file, return True if tag is found and False if not. '''
        self._tag = tag
        with open(self._filename, 'rt') as f:
            for line in f:
                line = line.strip()
                tokens = line.split()
                if self._tag == self._tokens:
                    return True
                else:
                    return False
             XmlFinder.find(self, self._tag)

def main():
    x = XmlFinder("filename")
    tag = '<to/>'
    x.find(tag)
main()

我之前从未解析过XML文件,因此这对我来说是全新的。

考虑使用像BeautifulSoup这样的库

from BeautifulSoup import BeautifulStoneSoup

class XmlFinder():
    def __init__(self, filename):
        self._filename = filename
        with file(filename, "r") as file_h:
            self.soup = BeautifulStoneSoup(file_h.read())

    def find(self, tag):
        return True if self.soup.find(tag) else False

def main():
    x = XmlFinder("filename")
    tag = 'to'
    x.find(tag)
main()

暂无
暂无

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

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