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. linux -- nano

    今天在git commit的时候碰到了一种编辑方式 -- 不会用 T.T,然后找了下相关的文档. ^G -- ctrl+g 帮助文档 ^O -- ctrl+o 写出,会出现下面的一行提示,是否保存,直 ...

  2. 今天谈谈流,什么是IO流?

    无标题 (5) :first-child { margin-top: 0; } blockquote > :last-child { margin-bottom: 0; } img { bord ...

  3. 如何修改Hadoop的默认日志级别,还真是麻烦

    鄙人使用的Hadoop版本为2.6.4.Hadoop的默认日志级别为INFO,对于百台以上的集群,如果文件操作频繁的话,NameNode会狂打日志,对性能会有一定的影响. 我们可以通过http://& ...

  4. 链表栈的C语言实现

    #ifndef _CONST_H_#define _CONST_H_ #include <stdio.h>#include <stdlib.h> typedef enum { ...

  5. 23.mysql集群(master-master)

    参考: http://blog.csdn.net/mr__fang/article/details/8692480 http://www.2cto.com/database/201201/116756 ...

  6. Centos中tomcat7指定jdk

    服务器上默认的jdk是1.8的,但是我想我的tomcat指定一个自定义的jdk怎么办呢,莫急,待老夫慢慢道来. 1.需要有一个除默认外的jdk的安装包(不用配置任何环境变量),如下图: 2.进入tom ...

  7. Spire.Office组件使用例子

    用.NET开发程序通常要涉及到对Office文件读写操作,比较常见的操作比如提取文本,导出Excel格式数据,动态生成word文档,生成pdf文档等. 实现这些功能通常需要在服务端安装office软件 ...

  8. 数据库多表连接方式介绍-HASH-JOIN

    1.概述 hash join是一种数据库在进行多表连接时的处理算法,对于多表连接还有两种比较常用的方式:sort merge-join 和 nested loop. 为了比较清楚的介绍hash joi ...

  9. CSRF token 无法被验证. ----Yii连接数据库后数据库错误日志报错

    CSRF token 无法被验证. 我使用的是mongodb+ yii1.1 What is CSRF, please see the details here.  http://en.wikiped ...

  10. HTCondor安装

    192.168.30.253 master     cd /etc/yum.repos.dwget http://research.cs.wisc.edu/htcondor/yum/repo.d/ht ...