python创建xml

参考了http://www.cnblogs.com/wangshide/archive/2011/10/29/2228936.html中的实现了一遍

# -*- coding: utf-8 -*-
"""
Created on Fri Apr 01 15:37:46 2016

@author: raoqiang
"""
#coding=utf-8
import xml.dom.minidom as minidom

from xml.dom.minidom import Document

doc = Document() #创建DOM文档对象

def create_annotation(doc,file)

Annot = doc.createElement(‘annotation‘) #创建根元素
doc.appendChild(Annot)
folder = doc.createElement(‘folder‘)
folder_text = doc.createTextNode(‘myfolderPath‘) #元素内容写入
folder.appendChild(folder_text)
Annot.appendChild(folder)

fName = doc.createElement(‘filename‘)
fName_text = doc.createTextNode(‘0001.png‘) #元素内容写入
fName.appendChild(fName_text)
Annot.appendChild(fName)

src = doc.createElement(‘source‘)
db = doc.createElement(‘database‘)
db_text = doc.createTextNode(‘the Synapse DataBase‘);
db.appendChild(db_text)
src.appendChild(db)
annt = doc.createElement(‘annotation‘)
annt_text = doc.createTextNode(‘the Synapse DataBase‘);
annt.appendChild(annt_text)
src.appendChild(db)
img= doc.createElement(‘image‘)
img_text = doc.createTextNode(‘synapseEM‘)
img.appendChild(img_text)
src.appendChild(img)
flickrid = doc.createElement(‘flickrid‘)
flickrid_text = doc.createTextNode(str(0))
flickrid.appendChild(flickrid_text)
src.appendChild(flickrid)

Annot.appendChild(src)

owner = doc.createElement(‘owner‘)
flickrid = doc.createElement(‘flickrid‘)
flickrid_text = doc.createTextNode(‘I do not know‘)
flickrid.appendChild(flickrid_text)
owner.appendChild(flickrid)

Annot.appendChild(owner)

size = doc.createElement(‘size‘)
width = doc.createElement(‘width‘)
width_text = doc.createTextNode(str(239))
width.appendChild(width_text)
size.appendChild(width_text)

height = doc.createElement(‘height‘)
height_text = doc.createTextNode(str(239))
height.appendChild(height_text)
size.appendChild(height_text)

depth = doc.createElement(‘depth‘)
depth_text = doc.createTextNode(str(1))
depth.appendChild(depth_text)
size.appendChild(depth_text)

Annot.appendChild(owner)

seg = doc.createElement(‘segmented‘)
seg_text = doc.createTextNode(str(0))
seg.appendChild(seg_text)

Annot.appendChild(seg)

obj = doc.createElement(‘object‘)

name = doc.createElement(‘name‘)
name_text = doc.createTextNode(‘synapse‘);
name.appendChild(name_text)
obj.appendChild(name)

pos = doc.createElement(‘pose‘)
pos_text = doc.createTextNode(‘Unspecified‘)
pos.appendChild(pos_text)

obj.appendChild(pos)

trun = doc.createElement(‘truncated‘)
trun_text = doc.createTextNode(str(0))
trun.appendChild(trun_text)

obj.appendChild(trun)

diffi = doc.createElement(‘difficult‘)
diffi_text = doc.createTextNode(str(0))
diffi.appendChild(diffi_text)

obj.appendChild(diffi)

bndbox = doc.createElement(‘bndbox‘)
xmin = doc.createElement(‘xmin‘)
xmin_text = doc.createTextNode(str(157))
xmin.appendChild(xmin_text)
bndbox.appendChild(xmin)

xmax = doc.createElement(‘xmax‘)
xmax_text = doc.createTextNode(str(157))
xmax.appendChild(xmax_text)
bndbox.appendChild(xmax)

ymin = doc.createElement(‘ymin‘)
ymin_text = doc.createTextNode(str(157))
ymin.appendChild(ymin_text)
bndbox.appendChild(ymin)

ymax = doc.createElement(‘ymax‘)
ymax_text = doc.createTextNode(str(157))
ymax.appendChild(ymax_text)
bndbox.appendChild(ymax)

obj.appendChild(bndbox)

Annot.appendChild(obj)

########### 将DOM对象doc写入文件
f = open(‘D:\\LabProj\\faster_rcnn\\annotation.xml‘,‘w‘)
f.write(doc.toprettyxml(indent = ‘‘))
f.close()

生成了如下的xml:基本照这个例子就可以学会怎么创建节点和生成数据,关于其中变量的操作还有别的函数

<?xml version="1.0"?>

-<annotation>

<folder>myfolderPath</folder>

<filename>0001.png</filename>

-<source>

<database>the Synapse DataBase</database>

<image>synapseEM</image>

<flickrid>0</flickrid>

</source>

-<owner>

<flickrid>I do not know</flickrid>

</owner>

<segmented>0</segmented>

-<object>

<name>synapse</name>

<pose>Unspecified</pose>

<truncated>0</truncated>

<difficult>0</difficult>

-<bndbox>

<xmin>157</xmin>

<xmax>157</xmax>

<ymin>157</ymin>

<ymax>157</ymax>

</bndbox>

</object>

</annotation>

时间: 2024-10-17 20:08:26

python创建xml的相关文章

使用PYTHON创建XML文档_python

当用GOOGLE查的时候,内容几乎都是一样的.但是你想要的东西,一个也没有.例如,我就找不到中国人写的如何使用PYTHON来创建一个XML文件.当然,直接用文件写的方式也能够达到同样的效果,但是毕竟容易出错,而且看起来不优雅.最后,我看了很多资料,终于明白如何使用PYTHON写一个XML文件了.以下就是一个简单的例子,这个例子是已经调试通过的,大家可以放心使用. import xml.dom.minidom from xml.dom.DOMImplementation import implem

python创建xml文件

本文是一个使用ElementTree有关类库,生成xml文件的例子 # *-* coding=utf-8 from xml.etree.ElementTree import ElementTree from xml.etree.ElementTree import Element from xml.etree.ElementTree import SubElement from xml.etree.ElementTree import dump from xml.etree.ElementTre

利用python 创建XML文件

1 #coding=utf-8 2 from xml.etree import ElementTree 3 4 import pdb 5 6 def printNodeInfo(node): 7 8 #node.tag 标签名称 9 #node.text 文本属性 10 print 'node.tag: %s' %node.tag 11 12 #node.attrib 属性字典 13 for key in node.attrib: 14 print '%s %s' %(key,node.attr

python使用 minidom创建xml实例

python创建xml实例 模仿下面的xml文件,使用python脚本进行创建. <?xml version='1.0'?> <database> <user username="user" fromAddress="[email protected]" fullName="John Q. User" password="pass"> <subscription host="

python+selenium自动化软件测试(第12章):Python读写XML文档

XML 即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进 行定义的源语言.xml 有如下特征: 首先,它是有标签对组成:<aa></aa> 标签可以有属性: <aa id=’123’></aa> 标签对可以嵌入数据: <aa>abc</aa>Python对XML文档读写常用有几个模块: (1) xml.etree.ElementTree ElementTree就像一个轻量级的DOM,具有方便友好的A

第七章:Python基础のXML操作和面向对象(上集)

本課主題 XML介绍和操作实战 shutil 模块介绍和操作实战 subprocess 模块介绍和操作实战 XML介绍和操作实战 對於浏览器返回的字符串有以下幾種: HTML JSON,表现是列表和字典的格式 XML XML的應用 一个属性里包含多过属性,一类是页面上做展示的时候可以用到XML,就是为别人来调用(这也是字符串类型的一个XML格式数据);另外一类是配置文件.你可以從文件裡打開一個XML文件,它返回的是一個XML形式的字符串:也可以通過發送 HTTP請求,返回一個 XML 形式的字符

【译】使用python创建一个简单的restful风格的webservice应用

这是一个如何使用python快速构建简单restful风格webservice的应用教程. 1.分析rest路由规则 rest风格的服务通常使用web.py来创建服务器端脚本,一般情况下包含两个url路径: 一个是为了查询所有用户,一个是为了查询单个用户. 例如下面的url: http://localhost:8080/users http://localhost:8080/users/{id} 2.搭建web.py环境 首先你应该安装web.py模块到你的python环境下.如果你之前没有的话

python学习-xml处理,yaml处理,hashlib,subprocess模块

xml处理模块 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过至今很多传统公司如金融行业的很多系统的接口还主要是xml. xml的格式如下,就是通过<>节点来区别数据结构的: 1 <?xml version="1.0"?> 2 <data> 3 <country name="Liechtenstein"> 4 <rank updated="yes&qu

Python与XML

Python与XML操作 一.介绍 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,在json还没诞生的黑暗年代,大家只能选择用xml呀,所以,至今很多传统公司如金融行业的很多系统的接口还主要是xml. 二.结构 xml的格式如下,就是通过<>节点来区别数据结构的: <?xml version="1.0"?> <data> <country name="china">