当前位置: 首页 > news >正文

中合网络网站建设百度知道网页版进入

中合网络网站建设,百度知道网页版进入,建筑设计人才招聘,百度做网站吗目录1、导入模块 →\rightarrow→ 读取文件 →\rightarrow→ 获取根节点 →\rightarrow→ 获取根节点的标签与属性2、遍历一级子节点、获取子节点的标签 与 属性3、通过索引 获取数据4、Element.findall()、Element.find() - 按照 tag 值查找 子节点5、Element.iter() - 循环迭…

目录


假设有xml文件内容如下:

<?xml version="1.0"?>
<data><country name="Liechtenstein"><rank>1</rank><year>2008</year><gdppc>141100</gdppc><neighbor name="Austria" direction="E"/><neighbor name="Switzerland" direction="W"/></country><country name="Singapore"><rank>4</rank><year>2011</year><gdppc>59900</gdppc><neighbor name="Malaysia" direction="N"/></country><country name="Panama"><rank>68</rank><year>2011</year><gdppc>13600</gdppc><neighbor name="Costa Rica" direction="W"/><neighbor name="Colombia" direction="E"/></country><neighbor name="xxxx" direction="W"/>
</data>

1、导入模块 →\rightarrow 读取文件 →\rightarrow 获取根节点 →\rightarrow 获取根节点的标签与属性

import xml.etree.ElementTree as ET# 读取文件
tree = ET.parse('test.xml', parser=None)# 获取根
root = tree.getroot()
print(root)   # <Element 'data' at 0x10c8b2b30># 根的标签与属性
print(root.tag)   # data
print(root.attrib)   # {}

另一种方式是 通过 openread() 将文件内容读取为字符串 str 格式。
再通过 ET.fromstring() 函数获取root 节点。获取 root 节点之后的操作就都一样了。

import xml.etree.ElementTree as ETwith open('text.xml') as f:data_str = f.read()root = ET.fromstring(data_str)
print(root.tag)   # data
print(root.attrib)   # {}

2、遍历一级子节点、获取子节点的标签 与 属性

for child in root:print(child.tag, child.attrib)
# country {'name': 'Liechtenstein'}
# country {'name': 'Singapore'}
# country {'name': 'Panama'}

3、通过索引 获取数据

  • rootrootroot是根节点
  • root[0]root[0]root[0] 是下一级子节点的第1个元素
  • root[0][1]root[0] [1]root[0][1]是下二级子节点的第2个元素
print(root[0][1].tag)   # year
print(root[0][1].attrib)   # {}
print(root[0][1].text)   # 2008

4、Element.findall()、Element.find() - 按照 tag 值查找 子节点

Element.findall()Element.find()

'''
Element.findall('xxx') :查找当前节点(Element)下,tag为'xxx' 的所有子节点,放到一个list中
Element.find('xxx'):查找当前节点(Element)下,tag为'xxx' 的第一个子节点
Element.get(key) : (节点属性是一个字典)获取节点属性 对应的 value 
'''
for country in root.findall('country'):rank = country.find('rank').text   #name = country.get('name') print(name, rank)
# Liechtenstein 1
# Singapore 4
# Panama 68

5、Element.iter() - 循环迭代方式 查找指定 tag 的节点

这里 循环迭代方式 指的是,在该节点下的 所有阶 的子节点中查找。不像 find 和 findall,find 和 findall 只在 一级子节点中查找。

# 生成一个迭代器
print(root.iter('neighbor'))   # <_elementtree._element_iterator object at 0x101a6d630># root 节点下,循环迭代的方式查找 tag 为 'neighbor' 的 子节点
for neighbor in root.iter('neighbor'):print(neighbor.attrib)
# {'name': 'Austria', 'direction': 'E'}
# {'name': 'Switzerland', 'direction': 'W'}
# {'name': 'Malaysia', 'direction': 'N'}
# {'name': 'Costa Rica', 'direction': 'W'}
# {'name': 'Colombia', 'direction': 'E'}
# {'name': 'xxxx', 'direction': 'W'}
http://www.tj-hxxt.cn/news/26427.html

相关文章:

  • 网站模块分析新平台推广
  • 网站建设在哪里申请推手平台哪个靠谱
  • 广东微信网站开发哪家好市场营销网站
  • 复制手机网站模板做百度推广多少钱
  • 建设一个和聚享游差不多的网站百度搜索指数入口
  • 武汉商城网站制作百度关键词查询工具免费
  • 南宁网络推广软件引擎优化
  • 丽水专业网站建设公司搜索引擎推广案例
  • 28网站制作百度推广工作好干吗
  • 房地产网站怎么建设seo行业
  • 网站维护工作的基本内容网络推广图片
  • 开源平台怎么优化网站关键词的方法
  • html5手机网站开发区别seo优化技术教程
  • 深圳住房和建设局网站轮候大厅学生个人网页设计模板
  • 迅速上排名网站优化深圳互联网公司50强
  • 阿里云可以放几个网站品牌宣传方式
  • 网站建设制作 南京公司seo技术培训教程视频
  • 什么网站做兼职靠谱热搜词排行榜关键词
  • 南通长城建设集团有限公司网站全媒体运营师培训机构
  • 湘潭网站建设网络推广公司有多少家
  • 优秀学校网站模板电脑培训
  • 淘宝代码网站有哪些广告软文怎么写
  • 网站服务器托管协议seo没什么作用了
  • 网站建设需要用到的软件seo网络排名优化方法
  • 发布网站的流程如何写营销软文
  • 做旅行社网站的ai智能营销系统
  • 网站在手机上内页图不显示昆明网络推广优化
  • 新浪体育新闻百度推广优化公司
  • 南京的网站制作公司申请自媒体平台注册
  • 深圳市龙岗区平湖疫情最新消息湛江百度seo公司