python的xml.dom学习笔记

简介:

首先说一下,由于这篇文章主要是自己随性学习写的,所以读者看起来可能很乱,呵呵。可以给大家稍微推荐一篇:http://www.cnblogs.com/xuxm2007/archive/2011/01/16/1936610.html 稍微清晰一点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#coding=utf-8
 
#解析xml文件中的所有的link标签
from  xml.dom  import  minidom
from  xml.dom.minidom  import  getDOMImplementation
doc = minidom.parse( "d:\\hello.html" )
 
nodes = doc.getElementsByTagName( "link" )
 
for  node  in  nodes:
     print  "<" ,node.tagName,
     print  "type=\"" ,node.getAttribute( "type" ), "\"" ,
     print  "rel=\"" ,node.getAttribute( "rel" ), "\"" ,
     print  "href=\"" ,node.getAttribute( "href" ), "\"" ,
     print  "/>"
     
print  "通过另外一种方式获得link标签"
linknodes = doc.getElementsByTagName( "link" )
for  in  range ( len (linknodes)):
     print  linknodes[i].getAttribute( "type" ),
     print  linknodes[i].getAttribute( "rel" ),
     print  linknodes[i].getAttribute( "href" )
     
 
#操作节点
node = linknodes[ 0 ]
print  dir (node)
print  node.parentNode
print  node.prefix
print  node.nodeType,node.nodeValue,node.nodeName
print  node.localName
print  node.childNodes
print  node.firstChild,node.lastChild
print  node.attributes
print  node.namespaceURI
print  node.nextSibling
print  "--" * 10
print  node.tagName
 
print  "===" * 20
impl = getDOMImplementation()
newdoc = impl.createDocument( None  "some_tag" None )
top_element = newdoc.documentElement
node1 = newdoc.createTextNode( "node1" )
node2 = newdoc.createTextNode( "node2" )
node3 = newdoc.createTextNode( "node3" )
 
top_element.appendChild(node1)
top_element.appendChild(node2)
top_element.appendChild(node3)
 
top_element.removeChild(node3)
top_element.insertBefore(node3,node2)
 
print  top_element.childNodes

  运行结果:

< link type = " text/css "  rel = " stylesheet "  href = " http://www.cnblogs.com/css/common.css "  / >
< link type = " text/css "  rel = " stylesheet "  href = " http://www.cnblogs.com/Skins/kubrick/style.css "  / >
< link type = " text/css "  rel = " stylesheet "  href = " http://www.cnblogs.com/css/common2.css "  / >
< link type = " text/css "  rel = " stylesheet "  href = " http://common.cnblogs.com/css/shCore.css "  / >
< link type = " text/css "  rel = " stylesheet "  href = " http://common.cnblogs.com/css/shThemeDefault.css "  / >
< link type = " application/rss+xml "  rel = " alternate "  href = " http://www.cnblogs.com/rollenholt/rss "  / >
< link type = " application/rsd+xml "  rel = " EditURI "  href = " http://www.cnblogs.com/rollenholt/rsd.xml "  / >
< link type = " application/wlwmanifest+xml "  rel = " wlwmanifest "  href = " http://www.cnblogs.com/rollenholt/wlwmanifest.xml "  / >
通过另外一种方式获得link标签
text / css stylesheet http: / / www.cnblogs.com / css / common.css
text / css stylesheet http: / / www.cnblogs.com / Skins / kubrick / style.css
text / css stylesheet http: / / www.cnblogs.com / css / common2.css
text / css stylesheet http: / / common.cnblogs.com / css / shCore.css
text / css stylesheet http: / / common.cnblogs.com / css / shThemeDefault.css
application / rss + xml alternate http: / / www.cnblogs.com / rollenholt / rss
application / rsd + xml EditURI http: / / www.cnblogs.com / rollenholt / rsd.xml
application / wlwmanifest + xml wlwmanifest http: / / www.cnblogs.com / rollenholt / wlwmanifest.xml
[ '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' , '__doc__' , '__init__' , '__module__' , '__nonzero__' , '__repr__' , '_attrs' , '_attrsNS' , '_call_user_data_handler' , '_child_node_types' , '_get_attributes' , '_get_childNodes' , '_get_firstChild' , '_get_lastChild' , '_get_localName' , '_get_tagName' , '_magic_id_nodes' , 'appendChild' , 'attributes' , 'childNodes' , 'cloneNode' , 'firstChild' , 'getAttribute' , 'getAttributeNS' , 'getAttributeNode' , 'getAttributeNodeNS' , 'getElementsByTagName' , 'getElementsByTagNameNS' , 'getInterface' , 'getUserData' , 'hasAttribute' , 'hasAttributeNS' , 'hasAttributes' , 'hasChildNodes' , 'insertBefore' , 'isSameNode' , 'isSupported' , 'lastChild' , 'localName' , 'namespaceURI' , 'nextSibling' , 'nodeName' , 'nodeType' , 'nodeValue' , 'normalize' , 'ownerDocument' , 'parentNode' , 'prefix' , 'previousSibling' , 'removeAttribute' , 'removeAttributeNS' , 'removeAttributeNode' , 'removeAttributeNodeNS' , 'removeChild' , 'replaceChild' , 'schemaType' , 'setAttribute' , 'setAttributeNS' , 'setAttributeNode' , 'setAttributeNodeNS' , 'setIdAttribute' , 'setIdAttributeNS' , 'setIdAttributeNode' , 'setUserData' , 'tagName' , 'toprettyxml' , 'toxml' , 'unlink' , 'writexml' ]
<DOM Element: head at 0x1b3e968 >
None
1  None  link
link
[]
None  None
<xml.dom.minidom.NamedNodeMap object  at 0x01B4D648 >
http: / / www.w3.org / 1999 / xhtml
<DOM Text node "u'\n'" >
- - - - - - - - - - - - - - - - - - - -
link
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
[<DOM Text node "'node1'" >, <DOM Text node "'node3'" >, <DOM Text node "'node2'" >]
目录
相关文章
|
4月前
|
Python
python对象模型
这篇文章介绍了Python中的对象模型,包括各种内置对象类型如数字、字符串、列表、字典等,以及如何使用`type()`函数来查看变量的数据类型。
|
7月前
|
XML JavaScript API
Ruby 教程 之 Ruby XML, XSLT 和 XPath 教程 3
Ruby XML, XSLT 和 XPath 教程
58 1
|
4天前
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
|
3月前
|
XML JavaScript API
30天拿下Python之使用xml
30天拿下Python之使用xml
29 0
|
6月前
|
XML JavaScript 关系型数据库
Python XML 解析
Python XML 解析
|
6月前
|
XML 存储 JavaScript
python读取xml文件详细讲解
python读取xml文件详细讲解
62 0
|
XML JavaScript 关系型数据库
|
XML 存储 数据处理
Python XML处理初级篇:入门lxml库
在数据处理过程中,XML(可扩展标记语言)常常被用作数据存储和传输。Python的lxml库是一个强大的库,用于解析XML和HTML文档。本文将向您介绍如何使用lxml库来解析和处理XML文档。
|
7月前
|
XML 测试技术 API
Python下的XML文件处理技巧与实践
【2月更文挑战第2天】 Python下的XML文件处理技巧与实践
157 0
|
7月前
|
XML 数据格式 Python
Python生成XML文件
Python生成XML文件
128 0