python基于xml parse实现解析cdatasection数据,parsecdatasection


本文实例讲述了python基于xml parse实现解析cdatasection数据的方法,分享给大家供大家参考。

具体实现方法如下:

from xml.dom.minidom import * 
 
implementation = DOMImplementation() 
 
print "Core:%s" % implementation.hasFeature('core', '2.0') 
print "Events:%s" % implementation.hasFeature('Events', '2.0') 
print "Traversal:%s" % implementation.hasFeature('Traversal', '2.0') 
print "Views:%s" % implementation.hasFeature('Views', '2.0') 
print "features:%s" % implementation._features 
     
dom = parse("result.xml")  
domRoot = dom.documentElement 
print domRoot 
print domRoot.nodeType 
print "ELEMENT_NODE:%s " % dom.ELEMENT_NODE 
print "ATTRIBUTE_NODE:%s " % dom.ATTRIBUTE_NODE 
 
children = domRoot.childNodes 
for child in children: 
  print "child_get_tagName:%s" % child._get_tagName() 
  print "child_get_localName:%s" % child._get_localName() 
  print "child.hasChildNodes:%s" % child.hasChildNodes() 
  if child._get_tagName() == "files_rg": 
    files = child._get_childNodes() 
    for file in files: 
      if file.nodeType == dom.ELEMENT_NODE: 
        for node in file._get_childNodes(): 
          print "node.childNodes:%s ",node._get_childNodes() 
          for cdataSection in node._get_childNodes(): 
            if cdataSection.nodeType == dom.CDATA_SECTION_NODE: 
              print "cdataSection._get_data:%s %s " % (cdataSection._get_localName(),cdataSection._get_data()) 

希望本文所述对大家的Python程序设计有所帮助。


用python解析XML格式的字符串

你这样的数据还没有用正则来的简单
r'(?<=\<Result\>)(.+?)(?=\</Result\>)'

用XML会比较麻烦:
dom1 = minidom.parseString(xml)
result = dom1.getElementsByTagName("Result")
result = result[0].childNodes[0].nodeValue
 

怎使用python获取xml文件的所有节点

我是用kxml包来解析的。详情请看 blog.163.com/...97228/

if (eventType == XmlPullParser.START_TAG
&& parser.getName().equals("rfid")) {// 解析RFID.xml
eventType = parser.nextTag();
if (parser.getName().equals("rname")) { //判断是否有rname标签
// 提取name值 parser.nextText()
rfidCard.setRname(parser.nextText());
}
// 读取下一个标签
eventType = parser.nextTag();
if (parser.getName().equals("cardnumber")) {
rfidCard.setCardnumber(parser.nextText());
}
eventType = parser.nextTag();
if (parser.getName().equals("team")) {
rfidCard.setTeam(parser.nextText());
}
eventType = parser.nextTag();
if (parser.getName().equals("power")) {
rfidCard.setPower(parser.nextText());
}
ContentManager.GetInstance().AddRfidRecord(rfidCard);
}
 

评论关闭