使用BeautifulSoup处理XML文档

最近需要用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>]

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

北京西街
人类

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

北京西街
人类

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


xml怎么加入图片路径
rss源错误怎么解决
文件后缀xml是什么意思
xml格式电子发票怎么获取
xml格式是什么意思
rss是什么意思啊
xml格式电子发票怎么打开
rss订阅源是什么意思
rss源是什么
xml注释怎么写
php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类