加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用BeautifulSoup处理XML文档

发布时间:2020-12-16 09:21:57 所属栏目:百科 来源:网络整理
导读:最近需要用python处理一个简单的XML,因其格式较乱,恰巧为了测试BeautifulSoup,所以百度学习了下,发现大多数都是解析HTML的文章,所以翻文档大概笔记下,功能是实现了,但问题很多后期再说吧。 测试XML代码: ?xmlversion="1.0"encoding="utf-8"?web-appc

最近需要用python处理一个简单的XML,因其格式较乱,恰巧为了测试BeautifulSoup,所以百度学习了下,发现大多数都是解析HTML的文章,所以翻文档大概笔记下,功能是实现了,但问题很多后期再说吧。

测试XML代码:

<?xmlversion="1.0"encoding="utf-8"?>
<web-app>
<context-param>
<param-name>地址</param-name>
<param-value>北京西街</param-value>
</context-param>
<listener>
<listener-class>
寡妇墙.....
</listener-class>
</listener>
<servlet>
<servlet-name>姓名</servlet-name>
<servlet-class>小强</servlet-class>
<init-param>
<param-name>动物</param-name>
<param-value>人类</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
</web-app>

测试python代码

#coding=utf-8
'''
简单测试BeautifulSoup解析XML
'''
frombs4importBeautifulSoup
importre

#使用BeautifulSoup以XML格式打开test.xml文件
soup=BeautifulSoup(open('test.xml'),'xml')
#格式化XML输出
printsoup.prettify()
#查找所有叫param-value的tag子节点

print"n"+"*"*20+"n"
printsoup.find_all('param-value')

print"n"+"*"*20+"n"
#打印出所有符合条件的子节点属性值
fortaginsoup.find_all('param-value'):
	printtag.text.strip()

print"n"+"*"*20+"n"
#使用正则的方式查找符合条件的子节点
fortag1insoup.find_all(re.compile('param-value')):
	printtag1.text.strip()

输出结果

<?xmlversion="1.0"encoding="utf-8"?>
<web-app>
<context-param>
<param-name>
地址
</param-name>
<param-value>
北京西街
</param-value>
</context-param>
<listener>
<listener-class>
寡妇墙.....
</listener-class>
</listener>
<servlet>
<servlet-name>
姓名
</servlet-name>
<servlet-class>
小强
</servlet-class>
<init-param>
<param-name>
动物
</param-name>
<param-value>
人类
</param-value>
</init-param>
<load-on-startup>
1
</load-on-startup>
</servlet>
</web-app>

********************

[<param-value>北京西街</param-value>,<param-value>人类</param-value>]

********************

北京西街
人类

********************

北京西街
人类

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读