Xml知识
XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。
元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。
XML 属性
从 HTML,你会回忆起这个:<img src="computer.gif">。"src" 属性提供有关 <img> 元素的额外信息。
一、得到dom对象
>>> import xml.dom.minidom
>>> dom = xml.dom.minidom.parse('d:/catalog.xml')
二、到到文档元素对象
>>> root = dom.documentElement
三、结点属性
每个结点都有他的nodeName ,nodeValue,nodeTye属性
nodeType的值有
'ATTRIBUTE_NODE'
'CDATA_SECTION_NODE'
'COMMENT_NODE'
'DOCUMENT_FRAGMENT_NODE'
'DOCUMENT_NODE'
'DOCUMENT_TYPE_NODE'
'ELEMENT_NODE'
'ENTITY_NODE'
'ENTITY_REFERENCE_NODE'
'NOTATION_NODE'
'PROCESSING_INSTRUCTION_NODE'
'TEXT_NODE'
四、子元素和子节点的访问
xml.dom 解析XML的API描述
minidom.parse(filename)
加载读取XML文件
doc.documentElement
获取XML文档对象
node.getAttribute(AttributeName)
获取XML节点属性值
node.getElementsByTagName(TagName)
获取XML节点对象集合
node.childNodes #返回子节点列表。
node.childNodes[index].nodeValue
获取XML节点值
node.firstChild
#访问第一个节点。等价于pagexml.childNodes[0]
doc = minidom.parse(filename)
doc.toxml('UTF-8')
返回Node节点的xml表示的文本
Node.attributes["id"]
a.name #就是上面的 "id"
a.value #属性的值
访问元素属性
<aaa>
<bbb>BBBB</bbb>
<ccc>CCCC</ccc>
</aaaa>
import xml.dom.minidom
def getdate(filename):
dom = xml.dom.minidom.parse(filename)
root = dom.documentElement
for node in root.childNodes:
if node.nodeType == node.ELEMENT_NODE:
keys = dom.getElementsByTagName(node.nodeName)
for key in keys.childNodes:
if key.nodeType == node.TEXT_NODE:
print node.nodeName, key,data