Python xml

第一部分:读

########

##

# -*- coding:utf-8 -*-

"""

* User: not me

* Date: 11-11-9

* Time: 13:20

* Desc: not easy for newer like me

"""

from  xml.dom import  minidom

def get_attrvalue(node, attrname):

return node.getAttribute(attrname) if node else ‘‘

def get_nodevalue(node, index = 0):

return node.childNodes[index].nodeValue if node else ‘‘

def get_xmlnode(node,name):

return node.getElementsByTagName_r(name) if node else []

def xml_to_string(filename=‘example.xml‘):

doc = minidom.parse(filename)

return doc.toxml(‘UTF-8‘)

def get_xml_data(filename=‘example.xml‘):

doc = minidom.parse(filename)

root = doc.documentElement

user_nodes = get_xmlnode(root,‘user‘)

user_list=[]

for node in user_nodes:

user_id = get_attrvalue(node,‘id‘)

node_name = get_xmlnode(node,‘username‘)

node_email = get_xmlnode(node,‘email‘)

node_age = get_xmlnode(node,‘age‘)

node_sex = get_xmlnode(node,‘sex‘)

user_name =get_nodevalue(node_name[0]).encode(‘utf-8‘,‘ignore‘)

user_email = get_nodevalue(node_email[0]).encode(‘utf-8‘,‘ignore‘)

user_age = int(get_nodevalue(node_age[0]))

user_sex = get_nodevalue(node_sex[0]).encode(‘utf-8‘,‘ignore‘)

user = {}

user[‘id‘] , user[‘username‘] , user[‘email‘] , user[‘age‘] , user[‘sex‘] = (

int(user_id), user_name , user_email , user_age , user_sex

)

user_list.append(user)

return user_list

def test_xmltostring():

print xml_to_string()

def test_laod_xml():

user_list = get_xml_data()

for user in user_list :

#print user[‘sex‘]

print ‘-----------------------------------------------------‘

if user:

user_str=‘编   号:%d\n用户名:%s\n性   别:%s\n年   龄:%s\n邮   箱:%s\n ‘ % (int(user[‘id‘]) , user[‘username‘], user[‘sex‘] , user[‘age‘] , user[‘email‘])

print user_str

print ‘=====================================================‘

if __name__ == "__main__":

test_xmltostring()

test_laod_xml()

##code end

############

doc=minidom.parse(‘example.xml‘)

root=doc.documentElement

root.getElementsByTagName_r(‘user‘)[0].getAttribute(‘id‘)

obtain the id attribute

<user id="1000001">

root.getElementsByTagName_r(‘user‘)[0].getElementsByTagName_r(‘username‘)[0].chileNodes[0].nodeValue

get nodevalue not attribute

<username>Admin</username>

creatDocument()方法可以创建一个指定类型的XML文档对象

##note section

##############

<?xml version="1.0" encoding="UTF-8" ?>

<users>

<user id="1000001">

<username>Admin</username>

<email>[email protected]</email>

<age>23</age>

<sex>男</sex>

</user>

</users>

##exampl.xml

###############

第二部分:写

from xml.dom import minidom, Node 
doc = minidom.Document() 
doc.a(doc.createComment("Simple xml document__chapter 8"))

#generate the book

#<book> (root node)

book = doc.createElement_x_x(‘book‘) 
doc.a(book)

#the title

#<title> 
#      sample xml thing 
#</title> 
title = doc.createElement_x_x(‘title‘) 
title.a(doc.createTextNode("sample xml thing")) 
book.a(title) #在title在book下

任何级别的元素都有doc.creatElement(‘string‘)产生,但由自己的上级node执行

#the author section

<book>

<title> 
        sample xml thing 
    </title> 
    <author> 
        <name> 
            <first> 
                ma 
            </first> 
            <last> 
                xiaoju 
            </last> 
        </name> 
author = doc.createElement_x("author") 
book.a(author) 
name = doc.createElement_x(‘name‘) 
author.a(name) 
firstname = doc.createElement_x(‘first‘) 
firstname.a(doc.createTextNode("ma")) 
name.a(firstname) 
lastname = doc.createElement_x(‘last‘) 
name.a(lastname) 
lastname.a(doc.createTextNode("xiaoju"))

Python xml,布布扣,bubuko.com

时间: 2024-10-06 00:12:11

Python xml的相关文章

Python XML解析

Python XML解析 什么是XML? XML 指可扩展标记语言(eXtensible Markup Language). 你能够通过本站学习XML教程 XML 被设计用来传输和存储数据. XML是一套定义语义标记的规则,这些标记将文档分成很多部件并对这些部件加以标识. 它也是元标记语言.即定义了用于定义其它与特定领域有关的.语义的.结构化的标记语言的句法语言. python对XML的解析 常见的XML编程接口有DOM和SAX,这两种接口处理XML文件的方式不同.当然使用场合也不同. pyth

小哈学Python ----XML

XML XML是实现不同语言或程序之间进行数据交换的协议,XML文件格式如下: <data> <country name="Liechtenstein"> <rank updated="yes">2</rank> <year>2023</year> <gdppc>141100</gdppc> <neighbor direction="E" nam

Python XML No module named etree.ElementTree

在学习使用Python解析XML的过程中,使用官方文档https://docs.python.org/2/library/xml.etree.elementtree.html中的例子进行测试,代码如下: import xml.etree.ElementTree as ET tree = ET.parse('/home/huayuan/code/xml.py') root = tree.getroot() 试着运行,没想到竟然会报错: Traceback (most recent call las

python xml.dom模块解析xml

1. 什么是xml?有何特征? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. 例子:del.xml <?xml version="1.0" encoding="utf-8"?> <catalog> <maxid>4</maxid> <login username="pytest" passwd='123456'> <ca

python - XML文件及其操作

xml文件也是实现不同语言或者程序之间进行数据交换的协议,它的特点是尖括号开头,尖括号结尾.使用范围就更为广泛了,tomcat resin kvm 等等,使用了大量的xml文件来进行相关配置.先来看一个典型的xml文件吧: <data> <country name="Liechtenstein"> <rank updated="yes">2</rank> <year>2023</year> &l

python xml与字典的相互转换

def trans_xml_to_dict(xml): """ 将微信支付交互返回的 XML 格式数据转化为 Python Dict 对象 :param xml: 原始 XML 格式数据 :return: dict 对象 """ soup = BeautifulSoup(xml, features='xml') xml = soup.find('xml') if not xml: return {} # 将 XML 数据转化为 Dict data

Python: xml转json

1,引言 GooSeeker早在9年前就开始了Semantic Web领域的产品化,MS谋数台和DS打数机是其中两个产品.对web内容做结构化转换和语义处理的主要路线是 XML -> RDF -> Ontology Engineering.所以这两款产品的输出信息是XML格式的,实现第一步:结构化转换.单纯作为一个网页采集器来说,输出XML格式也有好处,这是一种标准格式,后续的数据处理可以很容易地接入,任意发挥. 在web集成和网站前端领域,json越来越普遍,在Scrapy架构中,Scrap

Python XML生成

最近要用python生成一个xml格式的文件.因为有一些内容是中文,xml文件中使用了CDATA 的部分.  最后用了 from lxml import etree 这个.  供大家参考. 经过测试,这段代码是可以直接运行生成xml格式内容的. 网上参考的主要是 http://lxml.de/api/index.html 这个网页. # -*- coding:utf-8 -*- import sys import time import string from lxml import etree

python XML基础

什么是XML XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 的标签需要我们自行定义. XML 被设计为具有自我描述性. XML 是 W3C 的推荐标准 W3School官方文档:http://www.w3school.com.cn/xml/index.asp XML 和 HTML 的区别 数据格式 描述 设计目标 XML Extensible Markup Langu