import urllib
import requests
from xml.etree import ElementTree as ET root = ET.XML(open('D:\E\semantic\\a.xml','r',encoding = 'utf-8').read())
print(root.tag)
for i in root:
print(i.tag,i.attrib,i.find('gdppc').text)
'''
getroot(找到根)
parse(解析)
get(得到)
set(设置) 給节点设置一个属性
tag(标签) 获取该xml的标签
attrib(属性) 获取标签下的属性
text(文本) 获取指定属性下的文本信息
'''

  

'''解析文件'''
tree = ET.parse('D:\E\semantic\\a.xml')
print(tree)
'''得到根 (也就是data)'''
root = tree.getroot()
print(root)
'''循环迭代 得到下一个节点year的信息'''
for i in root.iter('year'):
'''打印节点的文本'''
print(i.text)
r = int(i.text)+1
r1 = str(r)
print(r1)
'''給节点设置属性 set(设置)'''
i.set('name','alex')
i.set('age','22')
''' 删除该节点的属性 '''
del i.attrib['name']
'''写入信息'''
tree.write('D:\E\semantic\c.xml')

  

添加节点
import urllib
import requests
from xml.etree import ElementTree as ET tree = ET.parse('D:\E\semantic\\a.xml')
root = tree.getroot()
# for i in root.iter('year'):
# print(i.text)
# i.set('name','alex')
# i.set('wang','ba')
#
# tree.write('D:\E\semantic\\a.xml') '''创建节点'''
son = root.makeelement('tt',{'kk':'jj'})
zen = son.makeelement('ooo',{'oo':'oo'})
root.append(son)
son.append(zen) ''' 创建节点'''
elel = ET.Element('ii',{'ii':'ii'})
olol = ET.Element('uu',{'uu':'uu'})
'''先把elel添加到root节点下面,然后把olol添加在elel下面,这样就是子孙了。'''
root.append(elel)
elel.append(olol) '''short_empty_elements = False 在没有添加文本的情况下强制性 自闭合'''
tree.write('D:\E\semantic\\a.xml',short_empty_elements = False)

  

XML 详解的更多相关文章

  1. Web.xml详解(转)

    这篇文章主要是综合网上关于web.xml的一些介绍,希望对大家有所帮助,也欢迎大家一起讨论. ---题记 一.            Web.xml详解: (一)  web.xml加载过程(步骤) 首 ...

  2. Maven-pom.xml详解

    (看的比较累,可以直接看最后面有针对整个pom.xml的注解) pom的作用 pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者需要遵 ...

  3. 【maven】 pom.xml详解

    pom.xml详解 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...

  4. build.xml详解

    build.xml详解1.<project>标签每个构建文件对应一个项目.<project>标签时构建文件的根标签.它可以有多个内在属性,就如代码中所示,其各个属性的含义分别如 ...

  5. 【转】maven核心,pom.xml详解

    感谢如下博主: http://www.cnblogs.com/qq78292959/p/3711501.html maven核心,pom.xml详解 什么是pom?    pom作为项目对象模型.通过 ...

  6. C#中的Linq to Xml详解

    这篇文章主要介绍了C#中的Linq to Xml详解,本文给出转换步骤以及大量实例,讲解了生成xml.查询并修改xml.监听xml事件.处理xml流等内容,需要的朋友可以参考下 一.生成Xml 为了能 ...

  7. Ant 之bulid.xml详解

    ANT build.xml文件详解(一) Ant的概念 可能有些读者并不连接什么是Ant以及入可使用它,但只要使用通过Linux系统得读者,应该知道 make这个命令.当编译Linux内核及一些软件的 ...

  8. Tomcat配置(二):tomcat配置文件server.xml详解和部署简介

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  9. Tomcat(二):tomcat配置文件server.xml详解和部署简介

    Tomcat系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1. 入门示例:虚拟主机提供web服务 该示例通过设置虚拟主机来提供web服务 ...

  10. Ant之build.xml详解

    Ant之build.xml详解 关键字: ant build.xml Ant的概念 可能有些读者并不连接什么是Ant以及入可使用它,但只要使用通过Linux系统得读者,应该知道make这个命令.当编译 ...

随机推荐

  1. Trading

    http://v.youku.com/v_show/id_XMTA0OTcxMjgw.html?from=y1.2-1-87.3.8-1.1-1-1-7

  2. highcharts 去掉Highcharts.com链接

    将credits属性设为false credits: { enabled: false },

  3. Dream It Possible

    反复听着Dream It Possible,想起自己的华为岁月,百感交集!

  4. OpenLayers2.13.1知识整理

    对于地图的默认加载等,网上很多资料,就不细说了,主要整理解决一些api不明显或不全的内容 因玩webgis只有一周左右,肯定很水~~ 我资料中的目录结构如下: html map js(自己封装的js目 ...

  5. js取两个数组的交集|差集|并集|补集|去重示例代码

    http://www.jb51.net/article/40385.htm 代码如下: /** * each是一个集合迭代函数,它接受一个函数作为参数和一组可选的参数 * 这个迭代函数依次将集合的每一 ...

  6. Arduino 极速入门系列 - 光控灯(3) - 光敏电阻、与电阻分压那些事

    继续是讲解基础原理,新手专用部分.这次讲光敏电阻,和用电阻分压.光电元器件有好几种,其中测光相关的元器件,常见的有光敏三极管和光敏电阻,我们这次光控灯用光敏电阻.在我们光控灯里面,将会使用它搭建出分压 ...

  7. 服务器CGI运行机制

    CGI概括: 定义 通用网关接口(Common Gateway Interface)是HTTP服务器与你的或其它机器上的程序进行"交谈"的一种工具,其程序须运行在网络服务器上. 功 ...

  8. 给ListBox每项加图标

    先设置listBoxMsg.DrawMode = DrawMode.OwnerDrawFixed; private void listBoxMsg_DrawItem(object sender, Dr ...

  9. mongoDB3.0 索引 整理

    http://blog.csdn.net/louisliaoxh/article/details/51543552 相关mongo http://blog.csdn.net/LOUISLIAOXH/a ...

  10. HTML5 十大新特性(五)——SVG绘图

    相对于canvas绘图,SVG是一种绘制矢量图的技术.全称叫做Scalable Vector Graphics,可缩放的矢量图,在2000年就已经存在,H5把它纳入了标准标签库,并进行了一些瘦身.需要 ...