易截截图软件、单文件、免安装、纯绿色、仅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


相关文档:

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

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

Python字符串操作[转]


Python字符串操作
python如何判断一个字符串只包含数字字符 
python 字符串比较 
下面列出了常用的python实现的字符串操作
1.复制字符串
#strcpy(sStr1,sStr2)
sStr1 = 'strcpy'
sStr2 = sStr1
sStr1 = 'strcpy2'
print sStr2
2.连接字符串
#strcat(sStr1,sStr2)
sStr1 = 'strcat'
sStr2 = 'appen ......

vc中调用python代码

运行一句python命令
对vc设置路径
include:D:\PYTHON31\INCLUDE
lib:D:\PYTHON31\LIBS
#include "stdafx.h"
#include "python.h"
int main(int argc, char* argv[])
{
 Py_Initialize() ;
 PyRun_SimpleString("print('Hello')");
 //PyRun_SimpleString("print(dir())");
 Py_Finalize();& ......

XML创建新结点

private void CreateNewXmlNode()
{
String strFileName = string.Empty;
strFileName = this.strCurrentPath + "System.xml";
XmlDocument xmlDoc = new XmlDocument();
try
{
xmlDoc.Load(strFileName);
......

python 脚本 - 自动检测代理速度

这个脚本是在 python 环境下使用的,改的网上的一个脚本,可以检测代理中国(www.proxycn.com)上的HTTP代理列表,你也可以自己去上面找列表检测 代码: #!/usr/bin/python # -*- coding: utf-8 -*- # from: ubuntu.org.cn Copyright: GPLv2 import urllib import re from datetime import datetime import socket def fin ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号