python怎么读取xml文件(使用python的beautifulsoup读取xml配置文件)

本文目录
- 使用python的beautifulsoup读取xml配置文件
- 用python读取xml<>>之间的内容并修改
- 求大神指教:如何用python读取xml文件中指定标签的文档内容并将其修改最好写下详细代码,非常感谢哈!
- python这样的xml配置文件如何读取
使用python的beautifulsoup读取xml配置文件
beautifulsoup分析html非常方便,但xml却不怎么样
推荐使用自带的xml的etree分析
import xml.etree.ElementTree as ET
root = ET.fromstring(’’’《settings》《dd key="d1" value="大一"/》《dd key="d2" value="大二"/》《dd key="d3" value="大三"/》《/settings》’’’)
root.items()
用python读取xml<>>之间的内容并修改
python是有相关的解析html格式的模块的
可以识别出标签,简单的处理文件你可以用Beautiful Soup模块,想做大一些的爬虫可以使用scrapy框架的xpath语法来锁定标签。
这里引用下官方说明:
Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。
Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。
Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。
因此可以很方便地提取出HTML或XML标签中的内容
给你个样例:
from bs4 import BeautifulSoup
import urllib2
html = urllib2.urlopen(url).read() #这里是直接爬取一个网址了,html变量也可以是一个本地的文件
content = BeautifulSoup(html).findAll(’a’) #使用这句就可以提取出文件中所有的《a》《/a》中的内容
"""模块还支持很多路径索引修改相关的功能,总之功能是比较强大的"""
希望我的回答可以帮到你:-)
求大神指教:如何用python读取xml文件中指定标签的文档内容并将其修改最好写下详细代码,非常感谢哈!
使用python自带的ElementTree模块,给你个例子你就知道了
xml文档
《?xml version="1.0" encoding="utf-8"?》
《config》
《id》0《/id》
《log_path》E:/Python《/log_path》
《/config》
Python 代码,修改id节的内容
from xml.etree import ElementTree
xml_file=’config.xml’
xml=ElementTree.ElementTree(file=xml_file).getroot()
xml.find(’id’).text=1
python这样的xml配置文件如何读取
xml = ’’’《?xml version="1.0" encoding="utf-8"?》
《Conf》
《DBconf》
《DB》
《Desc》abc 《/Desc》
《ConnStr》DB_192.168.3.1 《/ConnStr》
《UserName》system 《/UserName》
《PassWd》aa 《/PassWd》
《/DB》
《DB》
《Desc》bb 《/Desc》
《ConnStr》ORA9i_192.168.3.1 《/ConnStr》
《UserName》system 《/UserName》
《PassWd》system 《/PassWd》
《/DB》
《DB》
《Desc》ddd 《/Desc》
《ConnStr》ORA9i_192.168.3.1 《/ConnStr》
《UserName》system 《/UserName》
《PassWd》system 《/PassWd》
《/DB》
《/DBconf》
《Otherconf》
《a》aaa 《/a》
《c》aaa 《/c》
《/Otherconf》
《/Conf》
’’’
from xml.dom import minidom
def get_childern(node):
return filter(lambda n: isinstance(n, minidom.Element), node.childNodes)
doc = minidom.parseString(xml)
root = doc.childNodes
DBconf, Otherconf = get_childern(root)
for DB in get_childern(DBconf):
for n in get_childern(DB):
print n.tagName, n.firstChild.data
print
for n in get_childern(Otherconf):
print n.tagName, n.firstChild.data

本文相关文章:
log4j打印sql(怎么配置log4j 打印出sql语句)
2026年9月16日 21:50
apachetomcat环境变量配置(linux下apache+tomcat集群详细配置)
2026年7月13日 06:20
更多文章:
form表单制作(为什么制作的form表单会在网页显示中多出一行)
2026年10月11日 09:10
teammate(teammate,company,partner)
2026年10月11日 06:10
javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)
2026年10月11日 04:00
text函数公式(excel中round和text函数的区别是什么)
2026年10月11日 03:50
google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)
2026年10月11日 02:00
websocket整合springboot(Springboot整合Websocket遇到的坑)
2026年10月11日 01:40
drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)
2026年10月10日 19:20
xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)
2026年10月10日 17:50



