专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Python » xml解析:使用minidom解析xml »正文

xml解析:使用minidom解析xml

来源: 发布时间:星期三, 2009年9月2日 浏览:6次 评论:0
  最近在研究python解析xmlpython从来不缺解析xml我分析了综合来看有两个非常合适个是大名鼎鼎很低调xml.dom个是强大而且高效lxml先来学习minidom

  这个类实现readNodes作用是读取节点值和相应属性

  readElementByName是根据输入元素名字来读取其子元素结点属性

  不是很难理解

 1 #!/usr/bin/env python   
 2 #coding=utf-8   
 3 from xml.dom import minidom   
 4   
 5  Xml_dom:   
 6     def readNodes(self,domElement):   
 7         for nodes in domElement.childNodes:   
 8              nodes.nodeType  1:   
 9                 pr nodes.nodeName+'='  
10                 for keys in nodes.attributes.keys:   
11                     pr nodes.attributes[keys].name+'='+nodes.attributes[keys].value   
12                      len(nodes.childNodes)1:   
13                         pr nodes.nodeName+':'+nodes.childNodes[0].nodeValue   
14                     :   
15                         self.readNodes(nodes)   
16     def readElementByName(self,elementList):   
17         for elements in elementList:   
18              elements.nodeType  1:   
19                 pr elements.nodeName+'>>>>>>>>>>>>>>>>>>>>>>>'  
20                 for keys in elements.attributes.keys:   
21                     pr elements.attributes[keys].name+'='+elements.attributes[keys].value   
22              len(elements.childNodes)  1:   
23                 pr elements.nodeName+':'+elements.childNodes[0].nodeValue   
24             :   
25                 self.readElementByName(elements.childNodes)   
26     def __init__(self,filename,elename):   
27         self.dom = minidom.parse(filename)   
28         self.root = self.dom.documentElement   
29         pr '=xml_domn'  
30         self.readNodes(self.root)   
31         pr '=end=n'  
32         pr '>>>>>>>>>xml_dom>>>>>>>>>>n'  
33         el = self.dom.getElementsByTagName(elename)   
34         self.readElementByName(el)   
35         pr ">>>>>>>>>end>>>>>>>>>>>>"  
36            
37  __name__'____':   
38 #    a = Xml_dom('rule_sqlInj.xml','configs')   
39     a = Xml_dom('waf_sqlrule.xml','prot') 


  得到结果:

> "D:Python25pythonw.exe" -u "D:学习pythonxmlxml_domxml_dom.py"
=xml_dom

policy=
prot=
other=
test__id=1
action=
res=
rule=
ID=18612269
value=x22
=end=

>>>>>>>>>xml_dom>>>>>>>>>>

prot>>>>>>>>>>>>>>>>>>>>>>>
dstip>>>>>>>>>>>>>>>>>>>>>>>
dstip:2.2.2.2
dstip>>>>>>>>>>>>>>>>>>>>>>>
dstip:3.3.3.3
dstport>>>>>>>>>>>>>>>>>>>>>>>
dstport:80
srcip>>>>>>>>>>>>>>>>>>>>>>>
srcip:3.3.3.3
srcport>>>>>>>>>>>>>>>>>>>>>>>
srcport:8888
protocol>>>>>>>>>>>>>>>>>>>>>>>
protocol:17
>>>>>>>>>end>>>>>>>>>>>>




  网上从来不缺乏minidom解析文章我也是刚学到这个还好理解其实掌握了基本method就可以应用了如果想学习更多可以直接看minidom源码



0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: