python3 xml.dom.pulldom 解析xml

来源:互联网 发布:我爱你用网络语言表达 编辑:程序博客网 时间:2024/05/16 12:56
#xml文件
doc  = xml.dom.pulldom.parse("text.xml")--》type 是xml.dom.pulldom.DOMEventStream
#字符串
doc = xml.dom.pulldom.parseString(**)
event is a constant and can be one of:


START_ELEMENT
END_ELEMENT
COMMENT
START_DOCUMENT
END_DOCUMENT
CHARACTERS
PROCESSING_INSTRUCTION
IGNORABLE_WHITESPACE
node is a object of type xml.dom.minidom.Document, xml.dom.minidom.Element or xml.dom.minidom.Text.
查看文档可以知道主要是对doc对象遍历,根据event的值对相应node进行处理其中node的类型可能有(type xml.dom.minidom.Document, xml.dom.minidom.Element or xml.dom.minidom.Text)

示例:
def pullDomParseXML(text=""):
if "" == text:
raise RuntimeError("解析的内容不能为空")
doc = xml.dom.pulldom.parseString(text)
for event,node in doc:
if event == xml.dom.pulldom.START_ELEMENT:
print("开始解析:",node.tagName,"标签")
elif event == xml.dom.pulldom.CHARACTERS and node.data !="\n" and node.data.strip() !="":
print("标签内容:",node.data)
elif event == xml.dom.pulldom.END_ELEMENT:
print("标签:",node.tagName,"解析结束")
测试结果:

0 0