易截截图软件、单文件、免安装、纯绿色、仅160KB

在python中处理XML总结

本文总结了在Python中主要的几种处理XML的方法:
Element Tree
SAX
Dom
使用第三方类库如Amara 2.x, libxml2dom 等
Element Tree
Element Tree是Python 2.5引入的使用简单,快捷的处理方法, 也是Python标准类库推荐的处理XML的方法。
它使用树形节点的形式来读写XML。Element Tree是轻量级的DOM, 所以使用方便且耗资源少。
比如有以下XML文件: sample.xml
<?xml version="1.0" encoding="UTF-8"?>
<users>
<user id="001">
<name>John</name>
<age>25</age>
<phone>12345</phone>
</user>
<user id="002">
<name>Bill</name>
<age>30</age>
<phone>54321</phone>
</user>
<user id="003">
<name>Rex</name>
<age>35</age>
<phone>88888</phone>
</user>
</users> 
实例代码如下:
# -*- coding: utf-8 -*-
import sys
from xml.etree import ElementTree as ET
# 打印user节点,格式为tag:text
def printUser(user):
print "\nid:\t%s" % user.attrib.get('id')
for e in user.getchildren():
print "%s:\t%s" % (e.tag, e.text)
if __name__ == '__main__':
xmlFile = 'sample.xml'

# 解析sample.xml
doc = ET.parse(xmlFile)
users = doc.getroot()

# 遍历所有user,打印id和name
for user in users.findall('user'):
print "ID: %s\tName: %s" % (user.attrib['id'], user.find('name').text)

# 找出id是001的user
user1 = None
for user in users.getiterator('user'):
if user.attrib.get('id') == '001':
user1 = user

# 将user的phone改为999, 再打印这个user节点
if user1 != None:
printUser(user1)
user1.find('phone').text = '9999'
print ET.tostring(user1, 'utf-8')

# 删除name为Rex的user
for user in users.getiterator('user'):
if user.find('name').text == 'Rex':
use


相关文档:

xsd与xml和类(class)对象之间的互相转换

xsd与xml和类(class)对象之间的互相转换
.
第一:通过现有的已经写好的xsd来生成class(.cs)文件。
在您Visual Studio的安装目录下的SDKv2.0Bin中有个应用程序xsd.exe(通过这个应用程序可以使用xsd来创建类文件)。
具体操作:通过打开Visual Studio 命令提示,可以输入xsd指令来查看一些具体的操作指令的用处,然后 ......

XStream 非常简单实用的XML读写工具(一)

最近工作内容需要对Java对象做XML输出,公司里常用的两种框架是XStream和XML Beans。两种都我都用了,对于普通的,schema不是很复杂的XML文件来说选择XStream更方便。这篇文章先介绍一下XStream的用法,XML Beans的用法另外再介绍。
1. 先给个要输出的xml文档的例子:
<students>
<student>
&l ......

xml特殊字符定义

   XML开发入门基础:XML语法规则(2) - 网页设计专栏 - 编程入门网
     http://www.bianceng.cn/web/XML/200911/11986_2.htm
   
   字符          实体引用
    >   &n ......

ajax 发送xml文件,java接受xml文件并解析

红色字体为主要代码
jsp页面中
<script language="javascript">
function  updateDB(operate){
  var objDom=new ActiveXObject("msxml.DomDocument");
   var objRoot=objDom.createElement("All");
   objDom.appendChild(objRoot);
  
  var k=document.ge ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号