用python读取xml<></>之间的内容并修改
--------------↓python↓------------importxml.dom.minidomdom=xml.dom.minidom.parse(r'C:...
--------------↓ python ↓------------
import xml.dom.minidom
dom = xml.dom.minidom.parse(r'C:\Users\Intern\Desktop\video_library.xml')
root = dom.documentElement
cc=dom.getElementsByTagName('car_instance')
c1=cc[0]
print c1.firstChild.data
The_new = raw_input('Enter something:')
lines = open(r'C:\Users\Intern\Desktop\video_library.xml').readlines()
s = ''
for line in lines:
if '<car_instance>' in line:
s += line.replace('c1.firstChild.data','The_new')
else:
s += line
f = open(r'C:\Users\Intern\Desktop\video_library.xml','w')
f.write(s)
f.close()
----------↓ xml ↓-----------
<?xml version="1.0"?>
<video_library>
<loop_mode>0</loop_mode>
<car_instance>Highlander_Night_2016_7_21</car_instance>
</video_library> 展开
import xml.dom.minidom
dom = xml.dom.minidom.parse(r'C:\Users\Intern\Desktop\video_library.xml')
root = dom.documentElement
cc=dom.getElementsByTagName('car_instance')
c1=cc[0]
print c1.firstChild.data
The_new = raw_input('Enter something:')
lines = open(r'C:\Users\Intern\Desktop\video_library.xml').readlines()
s = ''
for line in lines:
if '<car_instance>' in line:
s += line.replace('c1.firstChild.data','The_new')
else:
s += line
f = open(r'C:\Users\Intern\Desktop\video_library.xml','w')
f.write(s)
f.close()
----------↓ xml ↓-----------
<?xml version="1.0"?>
<video_library>
<loop_mode>0</loop_mode>
<car_instance>Highlander_Night_2016_7_21</car_instance>
</video_library> 展开
1个回答
展开全部
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>中的内容
"""模块还支持很多路径索引修改相关的功能,总之功能是比较强大的"""
希望我的回答可以帮到你:-)
追问
这个标签的内容我已经读取到了,现在就是想把它替换成我输入的文字……
追答
可以,锁定标签后,使用.string方法可以对内容进行操作,直接"标签名[属性]=value"可以修改属性的内容
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询