Python文件之----XML
- #coding=utf-8
- from xml.dom import minidom
- from xml.dom.minidom import Document
- import xml
- def writeXML(filaName="test.xml"):
- doc = Document()
- feature=doc.createElement("feature")
- doc.appendChild(feature)
- father=doc.createElement("father")
- father.setAttribute('name','noun') #元素属性
- text = doc.createTextNode('系统')#元素值
- feature.appendChild(father)
- father.appendChild(text)
- son=doc.createElement("son")
- text = doc.createTextNode('系统')#元素值
- son.appendChild(text)
- father.appendChild(son)
- f = open(filaName,'w')
- f.write(doc.toprettyxml(indent = ''))
- f.close()
- def readXML(fileName="test.xml"):
- dom = xml.dom.minidom.parse(fileName) #打开xml文档
- root = dom.documentElement #得到文档元素对象
- bb = root.getElementsByTagName('father')
- b=bb[0]
- print b.nodeName
- print b.nodeValue
- print b.nodeType
- print b.getAttribute("name")
- print b.firstChild.data.encode("utf-8")
- def main():
- writeXML()
- # readXML()
- if __name__=="__main__":
- main()
写入的xml文档内容:
- <?xml version="1.0" ?>
- <feature>
- <father name="noun">
- 系统
- <son>系统</son>
- </father>
- </feature>
可能写入的xml文档格式不是很好看,显示父子关系不好,可通过文本写入的方式,调整xml的格式。
对于xml的每个节点有三种属性:
nodeName为结点名字。
nodeValue是结点的值,只对文本结点有效。
nodeType是结点的类型。catalog是ELEMENT_NODE类型
第一个系统是father的标签之间的数据。
- #coding=utf-8
- from xml.dom import minidom
- from xml.dom.minidom import Document
- import xml
- def writeXML(filaName="test.xml"):
- doc = Document()
- feature=doc.createElement("feature")
- doc.appendChild(feature)
- father=doc.createElement("father")
- father.setAttribute('name','noun') #元素属性
- text = doc.createTextNode('系统')#元素值
- feature.appendChild(father)
- father.appendChild(text)
- son=doc.createElement("son")
- text = doc.createTextNode('系统')#元素值
- son.appendChild(text)
- father.appendChild(son)
- f = open(filaName,'w')
- f.write(doc.toprettyxml(indent = ''))
- f.close()
- def readXML(fileName="test.xml"):
- dom = xml.dom.minidom.parse(fileName) #打开xml文档
- root = dom.documentElement #得到文档元素对象
- bb = root.getElementsByTagName('father')
- b=bb[0]
- print b.nodeName
- print b.nodeValue
- print b.nodeType
- print b.getAttribute("name")
- print b.firstChild.data.encode("utf-8")
- def main():
- # writeXML()
- readXML()
- if __name__=="__main__":
- main()
- '''
- 输出:
- father
- None
- 1
- noun
- 系统
- [Finished in 0.1s]
- '''
Python文件之----XML的更多相关文章
- python专题-读取xml文件
关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是 ...
- 遍历文件 创建XML对象 方法 python解析XML文件 提取坐标计存入文件
XML文件??? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. 里面的标签都是可以随心所欲的按照他的命名规则来定义的,文件名为roi.xm ...
- python读取/创建XML文件
Python中定义了很多处理XML的函数,如xml.dom,它会在处理文件之前,将根据xml文件构建的树状数据存在内存.还有xml.sax,它实现了SAX API,这个模块牺牲了便捷性,换取了速度和减 ...
- 【304】python专题-读取xml文件
参考:XML DOM 参考手册(w3school) 参考:python专题-读取xml文件 参考:请问用python怎么修改xml的节点值? 1. 读取标签内的文本(Python) 如下的 xml 文 ...
- Python:Dom生成XML文件(写XML)
http://www.ourunix.org/post/327.html 在python中解析XML文件也有Dom和Sax两种方式,这里先介绍如何是使用Dom解析XML,这一篇文章是Dom生成XML文 ...
- python解析xml文件之xml.etree.cElementTree和xml.etree.ElementTree区别和基本使用
1.解析速度:ElementTree在 Python 标准库中有两种实现.一种是纯 Python 实现例如 xml.etree.ElementTree ,另外一种是速度快一点的 xml.etree.c ...
- python批量json文件转xml文件脚本(附代码)
场景:在使用了mask rcnn跑实验后标注了大量地json格式文件,现在打算使用yolo和faster rcnn 跑实验 所以需要将之前地json文件转为xml 但是找了很久,没发现有批量处 ...
- web端自动化——Python读取txt文件、csv文件、xml文件
1.读取txt文件 txt文件是我们经常操作的文件类型,Python提供了以下几种读取txt文件的方式. 1)read(): 读取整个文件. 2)readline(): 读取一行数据. 3)readl ...
- 用 ElementTree 在 Python 中解析 XML
用 ElementTree 在 Python 中解析 XML 原文: http://eli.thegreenplace.net/2012/03/15/processing-xml-in-python- ...
随机推荐
- Yii框架下不同contoller之间的方法调用
一个contoller CustomerController里怎么调用另一个controller里的action,Acontoller调用SiteContoller的actionShow($id), ...
- 【HDOJ】2333 Assemble
二分+贪心策略.其中注释处很重要. #include <iostream> #include <cstdio> #include <cstring> #includ ...
- Strange Way to Express Integers (一般模线性方程组)
Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 8476 Accepted: 2554 Description Elin ...
- CH Round #58 - OrzCC杯noip模拟赛day2
A:颜色问题 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2358%20-%20OrzCC杯noip模拟赛day2/颜色问题 题解:算一下每个仆人到它的目的地 ...
- 数学(FFT):BZOJ 3527 [Zjoi2014]力
题目在这里:http://wenku.baidu.com/link?url=X4j8NM14MMYo8Q7uPE7-7GjO2_TXnMFA2azEbBh4pDf7HCENM3-hPEl4mzoe2w ...
- 【动态规划】【缩点】NCPC 2014 G Outing
题目链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1793 题目大意: 一辆公交车,上面M个座位,N个人(M<=N<=1000) ...
- 函数调用和给对象发消息(Runtime理解)
在写代码的时候这个差距其实是不打看的出得,很多时候也就无所谓叫什么,很多人为了便于理解,干脆就叫函数调用.这个其实应该是oc的一个特色,消息发送.具体的类typedef struct objc_cla ...
- maven打一个可执行的jar包
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-depen ...
- BDD框架之lettuce---python3.+安装报错
跟虫师学习python,学到BDD框架之lettuce( http://www.cnblogs.com/fnng/p/3415609.html),发现python3.5环境下安装lettuce后无法正 ...
- SafeNet推出行业首款白盒password软件保护解决方式
数据保护领域的全球率先企业SafeNet公司日前宣布,推出行业首款採用白盒安全技术的的软件保护方案.SafeNet 圣天诺 软件授权与保护解决方式如今纳入了新的功能,可在"白盒" ...