XML文档解析
使用ElementTree模块的parse方法判断xml文档是否是良构的
import xml.etree.ElementTree as ET
try:
ET.parse("xml_1.xml")
print u"这是一个良构的xml文档"
except Exception,e:
print u"这可能是一个非良构文档"
print u"出错信息:",e
构建xml子元素:
import xml.etree.ElementTree as ET
root = ET.Element("goods")
shirt=ET.SubElement(root,"shirt")
name=ET.SubElement(shirt,"name")
size=ET.SubElement(shirt,'size')
tree=ET.ElementTree(root)
name.text="Helen"
size.text="170"
ET.dump(tree)
结果:
<goods><shirt><name>Helen</name><size>170</size></shirt></goods>
元素的属性:
通过attrib方法生成元素的属性
shirt=ET.Element("shirt")
shirt.attrib['quality']="A"
ET.dump(shirt) //<shirt quality="A" />
或采用下面的方法
shirt=ET.Element("shirt",quality="A")
ET.dump(shirt) //<shirt quality="A" />
字符实体:
entity_ref = ET.XML("<a><</a>")
ET.dump(entity_ref) //<a><</a>
print entity_ref.text//<
注释:
xml的注释为" "之间的部分
import xml.etree.ElementTree as ET
xml_str="""
<test>
<!--Comment-->
content
</test>
"""
tree=ET.XML(xml_str)
ET.dump(tree)
输出结果:
<test>
content
</test>
对xml文档的操作:
遍历xml文档:
from xml.dom.minidom import *
dom1 = parse("xml_1.xml")
root = dom1.documentElement
def traversal(node):
if not node.childNodes:
return
for child in node.childNodes:
print child
traversal(child)
print traversal(root)
对xml文档的查询:
colors = root.getElementsByTagName("color")
for color in colors:
print color.toxml()
对xml文档的增删改:
goods = dom1.createElement("goods")
明天开始Django框架学习!!!加油,努力