[英]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.