簡體   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