python解析xml数据_数据开发_Python解析XML文件

解析XML文件

XML是可扩展标记语言,主要用于传输和存储数据

解析方式

使用lxml解析

主要注意: text tag attrib 使用方式 有 get() 以及迭代的情况

数据示例

a31

代码示例

#!/usr/bin/env python

# -*-coding:utf-8-*-

# @file parse_xml_exp.py

# @date 2020-10-**

from lxml import etree

def node_text_attrib(node):

result_line = ""

for result in node.iter():

if result.text is not None:

result_line = result_line + result.tag + " : " + result.text + '\n'

else:

# result.tag, result.attrib.get("key"), result.attrib

result_line = result_line + result.tag + " : " + result.attrib.get("key")+ '\n'

return result_line

if __name__ == '__main__':

input_file = r"C:\Users\test\Desktop\jobs.xml"

# 将xml解析为树结构 - parse() used to parse from files and file-like objects

# 解析文件类型对象

xml_file = etree.parse(input_file)

# 获得该树的树根

root_node = xml_file.getroot()

print(root_node)

# 子节点

if len(root_node):

print("子节点个数: ", len(root_node))

# XML elements support attributes

# 这样便可以遍历根元素的所有子元素(这里是job元素)

for article in root_node:

print("元素名称:", article.tag)

# 用.get("属性名")可以得到article元素相应属性的值

print(article.get("id"))

for field in article:

# 用.tag可以得到元素的名称,而.text可以得到元素的内容

if field.tag == "reader":

# #将元素text连同sub_element一起打印

print(node_text_attrib(field))

说明

1.进行数据操作之前记得备份,使用备份的数据进行操作。确保失败可回溯和追踪的措施之一

2,可变和不可变的部分-使用脚本拼接

3.模板数据一定要记性验证,同时有些重复性的工作记得使用工具来校验

参考

Xml的使用在一些场景下比较常见

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值