使用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 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇