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- ...
随机推荐
- mysql 安装补充
1:假如下载的文件名为:mysql-5.0.45.tar.gz 2:假如copy到 /usr/local下 3:groupadd mysql #添加mysql组 4:useradd -g mysql ...
- 【HDOJ】2363 Cycling
二分+Dijkstra. #include <iostream> #include <cstdio> #include <cstring> #include < ...
- bzoj1430
这道题只是给bzoj1005做一个铺垫这里介绍了一个叫prufer编码的东西,就是给定一棵带标号的无根树,找出编号最小的叶子节点,写下与它相邻的节点的编号,然后删掉这个叶子节点.反复执行这个操作直到只 ...
- [Poetize I]黑魔法师之门
描述 Description applepi被囚禁的地点只有一扇门,当地 人称它为“黑魔法师之门”.这扇门上画着一张无向无权图,而打开这扇门的密码就是图中[每个点的度数大于零且都是偶数]的子图的个数对 ...
- -_-#【JS】isFinite
/** * isFinite(number) * 检查是否是无穷大 * 如果 number 是有限数字(或可转换为有限数字),那么返回 true * 如果 number 是 NaN(非数字),或者是正 ...
- -_-#【jQuery插件】textSlider 文本滚动
jQuery.textSlider.js ;(function($) { $.fn.textSlider = function(settings) { settings = jQuery.extend ...
- IIS 启用或关闭目录浏览
如果不希望启用目录浏览,请确保配置了默认文档并且该文件存在. 使用 IIS 管理器启用目录浏览. 打开 IIS 管理器. 在“功能”视图中,双击“目录浏览”. 在“目录浏览”页上,在“操作”窗格中单击 ...
- CodeForces 220(div 2)
悲剧的div2..... A 题意:在n * m的矩形平面直角坐标系中,从(x, y)可以到四个点(x - a, y - b),(x + a, y - b),(x - a, y + b),(x + a ...
- 获取contenteditable的内容 对html进行处理 兼容 chrome、IE、Firefox
var html = $(this).html();if(html){ var lineSign = html.indexOf('<div>'); if(html.indexOf('< ...
- AS3 读写 C++ 64位数字
为框架添加了一套新的与C++通讯的数据协议,其中和C++的大爷们对于他们的64位数字(unsigned long long)读写的问题纠结了很久.真心觉得“学好C++走遍天下都不怕啊” AS里Numb ...