ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

day23(XML,面向对象基础)

2019-05-16 17:41:59  阅读:196  来源: 互联网

标签:XML 标签 tag day23 面向对象 查找 country root


什么是XML 

XML与JSON的对比

XML文档格式

使用XML模块解析

 

一,什么是XML

'''
XML 全称可扩展标记语言
<tag></tag> 双标签 <tag/> 单标签 没有文本 一般用于设计文档结构 例如:换行等 <tr/>表示换行 <tag style='color:red' age='18' >123456</tag> 一个标签的完整组成 有三个部分 tag 是标签名称 1234是文本内容 text name = 'jack' 是标签的属性 其他的规范: 1,从开始就必须结束 2,所有属性值必须必须在双引号里面 3,只能有一个根标签 (最外层只能有一个标签) 4,开始标签和结束标签的顺序是相反的 ,最先打开谁,就最后关闭谁,最后打开的最先关闭 文档声明可不写,主要是告诉浏览器,该怎么解析这个文件 XML模块是自带的,不需要安装 与JSON的区别: XML 是一种可扩展的标记语言 可以高度 自定义文档的结构,数据类型,标签的含义,使用场景广泛,不局限于前后台的数据交互,在其他语言中还经常作为配置文件来使用 所以扩展性远比JSON要强,XML用做数据交换格式的话,远不如json来的简单,JSON更加适用于前后台数据交换 JSON优点: 轻量级,跨平台,语法简洁 使用场景:多为前后台交互 XML更多用来作为配置文件,当然python不太常用,HXML也属于XML 总结,xml的解析比起json而言非常复杂 因为其扩展性远比json高,在java中常作为配置文件,当你在前后台进行数据交互时,优先使用json格式
'''''

1.**三个用于查找标签函数
  iter("标签名") #全文查找
  find("标签名") #查找子节点匹配的第一个
  findall("标签名") #查找子节点匹配的所有标签


2.**访问标签的内容
  element.tag 获取标签名
  element.attrib 获取属性
  element.text 获取文本

3.修改文档内容
  elment.tag = "标签名"
  element.text = "文本"
  element.set("属性名","属性值")

4.删除节点
  root.remove(标签对象)

5.添加子标签
  #创建标签对象
  year2=ET.Element('year2') # 指定名称
  year2.text='新年'
  year2.attrib={'update':'yes'}
  #添加
  country.append(year2) #往country节点下添加子节点

删除添加修改后都需要调用write写入到文件
  tree.write("文件名"),#注意文档对象才能执行写入操作

import xml.etree.ElementTree as ET
#打开一个文档,得到一个元素树(XML文档)
tree = ET.parse('test.xml')
#获取根标签
root = tree.getroot()
print(root)             #<Element 'data' at 0x000001FE7FBEDEA8>

#遍历出root标签的所有子标签
for tag in root:
    print(tag)

#遍历出文档中所有标签
for tag in root.iter():
    print(tag)

#从root下查找第一个名为country的子标签
country = root.find('country')
print(country)          #<Element 'country' at 0x000001F46BA8C3B8>

#从root下查找所有名字为country的子标签
countrys = root.findall('country')
print(countrys)

#从root下查找所有名字为county的子孙标签
for tag in root.iter('country'):
    print(tag)

''' 解析XML得到一个tree对象后,查找标签的4种方式 1,iter() 如果没有参数则查找所有标签 如果有参数则查找所有名字匹配的标签 查找范围 为全文 2,find() 必须给参数 查找当前标签的子标签,返回第一个名字匹配的 3,findall() 必须给参数 查找当前标签的子标签,返回所有名字匹配的 4,直接遍历某个标签 返回的是这个标签的所有子标签 '''

 

二,

标签:XML,标签,tag,day23,面向对象,查找,country,root
来源: https://www.cnblogs.com/HZLS/p/10876980.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有