导航:首页 > 编程语言 > xml在python里换行符

xml在python里换行符

发布时间:2023-05-21 00:51:16

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处理一个xml文件。平时习惯了用xml.etree.ElementTree,结果发现此库存在一些让人无法忍受的缺点:

1. 无法处理comment和cdata

2. 输出后的xml文件没有换行,没有缩进,十分难以阅读

于是尝试这用xml.dom.minidom,前两个问题几乎全部解决了。唯一让人看着不爽的是minidom对于text的处理。比如,我期待的xml输入如下:

[html]view plain

❸ 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()

测试数据:<root>text<a/><a/><a/><root>
输出结果:<桥腊root>text<a1>a1fora</a1><a2>a2fora</a2><a3>a3fora</a3><root>

❹ 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()

结果:

<root>text
<a1>a1for a</a1>
<袭兄谨a2>尘罩a2for a</a2>
<a3>a3for 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中怎么换行

  1. Windows换行符是' ',

  2. Unix/Linux的换行符为' ',

  3. Mac的换行符为' ',

  4. 在python中,对换行符进行了统一处理,定义为' 。

❻ xml回车换行转义字符是多少

参考如下内容:
常用的XML转义字符记录如下:

空格: <string name="out_bound_submit">出  库</string> 其中的 就代表空格

换行: <string name="hello_world">你好!\n世界!</string> 其中的\n就代表换行

缩进: <string name="hello_world">你好!\t世界!</string> 其中的\t就代表按一次Tab键的几个空格
应当注意,由于系统定义的基本的缩进的格数不同,有的代表4个半角字符,有的代表8个半角字符,
所以可能显示时效果不同,建议如果编写界面时尽量少用。

❼ python操作xml文件问题

我给你个示例代码,你自己改改增加子节点那一段就好了。

#!/usr/bin/python
# -*- coding=utf-8 -*-
# author : [email protected]
# date: 2012-05-25
# version: 0.1
from xml.etree.ElementTree import ElementTree,Element
def read_xml(in_path):
'''读取并解析xml文件
in_path: xml路径
return: ElementTree'''
tree = ElementTree()
tree.parse(in_path)
return tree
def write_xml(tree, out_path):
'''将xml文件写出
tree: xml树
out_path: 写出路径'''
tree.write(out_path, encoding="utf-8",xml_declaration=True)
def if_match(node, kv_map):
'''判断某个节点是否包含所有传入参数属性
node: 节点
kv_map: 属性及属性值组成的map'''
for key in kv_map:
if node.get(key) != kv_map.get(key):
return False
return True
#---------------search -----
def find_nodes(tree, path):
'''查找某个路径匹配的所有节点
tree: xml树
path: 节点路径'''
return tree.findall(path)
def get_node_by_keyvalue(nodelist, kv_map):
'''根据属性及属性值定位符合的节点,返回节点
nodelist: 节点列表
kv_map: 匹配属性及属性值map'''
result_nodes = []
for node in nodelist:
if if_match(node, kv_map):
result_nodes.append(node)
return result_nodes
#---------------change -----
def change_node_properties(nodelist, kv_map, is_delete=False):
'''修改/增加 /删除 节点的属性及属性值
nodelist: 节点列表
kv_map:属性及属性值map'''
for node in nodelist:
for key in kv_map:
if is_delete:
if key in node.attrib:
del node.attrib[key]
else:
node.set(key, kv_map.get(key))

def change_node_text(nodelist, text, is_add=False, is_delete=False):
'''改变/增加/删除一个节点的文本
nodelist:节点列表
text : 更新后的文本'''
for node in nodelist:
if is_add:
node.text += text
elif is_delete:
node.text = ""
else:
node.text = text

def create_node(tag, property_map, content):
'''新造一个节点
tag:节点标签
property_map:属性及属性值map
content: 节点闭合标签里的文本内容
return 新节点'''
element = Element(tag, property_map)
element.text = content
return element

def add_child_node(nodelist, element):
'''给一个节点添加子节点
nodelist: 节点列表
element: 子节点'''
for node in nodelist:
node.append(element)

def del_node_by_tagkeyvalue(nodelist, tag, kv_map):
'''同过属性及属性值定位一个节点,并删除之
nodelist: 父节点列表
tag:子节点标签
kv_map: 属性及属性值列表'''
for parent_node in nodelist:
children = parent_node.getchildren()
for child in children:
if child.tag == tag and if_match(child, kv_map):
parent_node.remove(child)

if __name__ == "__main__":

#1. 读取xml文件
tree = read_xml("./test.xml")

#2. 属性修改
#A. 找到父节点
nodes = find_nodes(tree, "processers/processer")
#B. 通过属性准确定位子节点
result_nodes = get_node_by_keyvalue(nodes, {"name":"BProcesser"})
#C. 修改节点属性
change_node_properties(result_nodes, {"age": "1"})
#D. 删除节点属性
change_node_properties(result_nodes, {"value":""}, True)

#3. 节点修改
#A.新建节点
a = create_node("person", {"age":"15","money":"200000"}, "this is the firest content")
#B.插入到父节点之下
add_child_node(result_nodes, a)

#4. 删除节点
#定位父节点
del_parent_nodes = find_nodes(tree, "processers/services/service")
#准确定位子节点并删除之
target_del_node = del_node_by_tagkeyvalue(del_parent_nodes, "chain", {"sequency" : "chain1"})

#5. 修改节点文本
#定位节点
text_nodes = get_node_by_keyvalue(find_nodes(tree, "processers/services/service/chain"), {"sequency":"chain3"})
change_node_text(text_nodes, "new text")

#6. 输出到结果文件
write_xml(tree, "./out.xml")

❽ 如何用python操作xml文件,用dom

用replace应该可以的
xml = string.replace(xml, "<string name="version_string">(.*)</string>团隐", "<string name="version_string">(你想链雀要的棚或早东西)</string>")

❾ python写xml中文本节点怎么才能不换行

1、在python 2.x中,在print 'xxxx' 后面加一个逗号
print 'hello world',

2、python 3.x中,需要在函数内增加一个end字段:
print('hello world', end='')

❿ 初学Python求助Python解析xml

1. 我上面这段xml代码,一开始没有注意看,在每一个元素的结尾元素中都含有转义符,这就是为什么我用xml解析丛冲插件时一直保报错的原因,因为他不是正规的xml格式。穗肢我的方法是用正则替换掉:re.sub(r'(<)\\(/.+?>)',r'\g<1>\g<2>',f_xml) 对于Python中的正则re的sub用法
2. 处理成正规的xml格式后,我这里还是用ElementTree来解析的,但在加载时又报错:
cElementTree.ParseError: XML or text declaration not at start of entity: line 2, column 0
这个错误我在网上没有找到合适的答案,不过根据字面意思来解决,就是在开头的地方有错误。这里我尝试这吧xml的文档声明给去掉了,居然没有报错渗族歼。这里有些不理解为什么不能加? 我的方法:f_xml=test_xml.replace('<?xml version="1.0" encoding="gbk"?>','')
3. 然后再加载,就能获取到相应的节点了。

阅读全文

与xml在python里换行符相关的资料

热点内容
三万人需要什么服务器 浏览:570
压缩包后缀和文件夹后缀有啥区别 浏览:268
常州水蒸汽压缩机 浏览:364
操作服务器是什么 浏览:630
海南免税溯源码怎么查 浏览:979
苹果系统转换安卓系统有什么麻烦 浏览:692
pdf如何拆分成多个pdf 浏览:109
广西dns联通服务器地址大全 浏览:500
问道端游下载了忘了在哪个文件夹 浏览:251
开源phpoa框架 浏览:293
惠普511类似文件夹图标闪动 浏览:53
php通讯录系统 浏览:73
javajar包maven 浏览:108
仿图怪兽安卓源码 浏览:978
程序员越来越困 浏览:866
女朋友java程序员 浏览:338
魔兽世界加密货币 浏览:783
程序员打卡日记 浏览:766
车间压缩空气有水怎么处理 浏览:835
java类调用php 浏览:476