本文目录一览:
- 1、python 怎么修改xml文件内容
- 2、python 替换xml中的一行或者两行
- 3、求大神指教:如何用python读取xml文件中指定标签的文档内容并将其修改?最好写下详细代码,非常感谢哈!
- 4、Python的XML节点替换或字符串替换问题,此为补偿贴,只限luotuo512来回答
- 5、Python的XML节点替换或字符串替换问题
python 怎么修改xml文件内容
类似于:
#!/usr/bin/evn python
#coding:utf-8
try:
import xml.etree.cElementTree as ET
except ImportError:
import xml.etree.ElementTree as ET
import sys
try:
tree = ET.parse("country.xml") #打开xml文档
#root = ET.fromstring(country_string) #从字符串传递xml
root = tree.getroot() #获得root节点
except Exception, e:
print "Error:cannot parse file:country.xml."
sys.exit(1)
print root.tag, "---", root.attrib
for child in root:
print child.tag, "---", child.attrib
print "*"*10
print root[0][1].text #通过下标访问
print root[0].tag, root[0].text
print "*"*10
for country in root.findall('country'): #找到root节点下的所有country节点
rank = country.find('rank').text #子节点下节点rank的值
name = country.get('name') #子节点下属性name的值
print name, rank
#修改xml文件
for country in root.findall('country'):
rank = int(country.find('rank').text)
if rank 50:
root.remove(country)
tree.write('output.xml')
给你推荐一篇文章看看吧:
python 替换xml中的一行或者两行
a='Range 0-229956 /Range'
b="'Range 0-(A-1) /Range'\n'Range B-229956 /Range'"
d=open("a.xml","w")
while 1:
line=d.readline()
if line==a:
replace(a,b)
ifnotline:
break
##如果你的A,B两个值是从终端读取的话在开始read一下就行:
read A
read B
求大神指教:如何用python读取xml文件中指定标签的文档内容并将其修改?最好写下详细代码,非常感谢哈!
使用python自带的ElementTree模块,给你个例子你就知道了
xml文档
?xml version="1.0" encoding="utf-8"?
config
id0/id
log_pathE:/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节点替换或字符串替换问题,此为补偿贴,只限luotuo512来回答
两种方法:
old=open("test.xml")
lines=old.readlines()
a="a/"
i=1
newlines=[]
for line in lines:
if a in line:
line=line.replace(a,"a"+str(i)+"a"+str(i)+"for a/a"+str(i)+"")
i=i+1
newlines.append(line)
for line in newlines:
print line
new=open("newtest.xml","w")
new.writelines(newlines)
new.close()
old.close()
结果:
roottext
a1a1for a/a1
a2a2for a/a2
a3a3for a/a3
root
import xml.dom.minidom
oldxmlfile=open("test.xml")
oldxml=oldxmlfile.read()
oldxmlfile.close()
doc = xml.dom.minidom.parseString(oldxml)
index=1
for node in doc.getElementsByTagName("a"):
node.tagName="a"+str(index)
index=index+1
newxml=doc.toprettyxml()
xmlfile=open("newxml2.xml","w")
xmlfile.write(newxml);
xmlfile.close()
lz是好人。
Python的XML节点替换或字符串替换问题
fpr=open("text.txt")
data=fpr.read()
n=0
for i in range(len(data)):
if data[i]=='/' and data[i+1]=='':
n+=1
newdata=data[0:i]+str(n)+'a'+str(n)+'fora/a'+str(n)+''
k=i
break
for i in range(k+1,len(data)):
if data[i]=='/' and data[i+1]=='':
n+=1
newdata=newdata+data[i-2:i]+str(n)+'a'+str(n)+'fora/a'+str(n)+''
newdata+='root'
fpr.close()
fpw=open("newtext.txt","w+")
fpw.write(newdata)
fpw.close()
测试数据:roottexta/a/a/root
输出结果:roottexta1a1fora/a1a2a2fora/a2a3a3fora/a3root