導航:首頁 > 編程語言 > 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里換行符相關的資料

熱點內容
博科清空命令 瀏覽:384
簡愛英文pdf 瀏覽:376
cnc編程有前途嗎 瀏覽:586
聯想app怎麼聯網 瀏覽:722
linuxftp命令登錄 瀏覽:1000
android獲取圖片縮略圖 瀏覽:646
神戶制鋼螺桿壓縮機 瀏覽:29
差分演化演算法 瀏覽:567
中山市加密軟體 瀏覽:446
mc反編譯源碼 瀏覽:139
企業商城網站源碼 瀏覽:411
shell腳本編程是什麼 瀏覽:762
單片機led閃爍匯編 瀏覽:203
點淘app怎麼沒金蛋了 瀏覽:878
app拉新哪裡找推廣碼 瀏覽:935
哪個app生活服務好 瀏覽:108
mht安卓用什麼軟體打開 瀏覽:320
html5即時通訊源碼 瀏覽:144
python編程基礎豆瓣 瀏覽:710
程序員亂碼是什麼意思 瀏覽:373