2
我使用Python的dom minidom庫創建了一個xml文件。不過,我想創建我的XML文件沒有序言<?xml version="1.0"?>
。我用doc.writexml()
請你能給我幾條線索嗎?使用python dom minidom創建沒有序幕的xml文件
我使用Python的dom minidom庫創建了一個xml文件。不過,我想創建我的XML文件沒有序言<?xml version="1.0"?>
。我用doc.writexml()
請你能給我幾條線索嗎?使用python dom minidom創建沒有序幕的xml文件
你不能直接這樣做。但是有兩種方法可以做到。
首先,剝離它並不難。例如:
xml = x.toxml()
with open('foo.xml', 'w') as f:
f.write(xml.partition('>')[2])
或者,如果你不想在內存中生成整個字符串,你可以寫燕子序言文件包:
class SkipFirstWriter(object):
def __init__(self, f):
self.f = f
self.firstline = True
def write(self, buf):
if self.firstline:
if '>' in buf:
self.f.write(buf.partition('>')[2])
self.firstline = False
else:
self.f.write(buf)
with open('foo.xml', 'w') as f:
skipper = SkipFirstWriter(f)
x.writexml(skipper)
顯然吞下「一切都交給第一個>
「對於檢測XML序言是一種冒險的方式......但它起作用。在實際的代碼中,我可能會添加一條評論,解釋這是有效的,爲什麼,但是使用它。
或者,你可以依靠的事實,文檔,而不-序言是文檔的第一個孩子,而做到這一點:
with open('foo.xml', 'w') as f:
x.firstChild.writexml(f)
@abamert非常感謝你的答案YOUT – Tof 2013-03-05 08:13:29