2012-04-28 62 views
0

我已经使用minidom创建了一个XML并且它正确地出来了,但是我需要它在开始时没有<?xml version="1.0" encoding="utf-8"?>而被返回。有没有一种方法可以在没有<?xml?>标签的情况下获得XML?从minidom获取XML而没有<?xml ...?>

回答

0

我个人刚刚切下的第一个字符22

xml_out = doc.toxml() 
return xml_out[22:] 
+0

这就是我最终使用的解决方案,只是想知道是否有办法在没有强力方法的情况下执行此操作。 – bgrantdev 2012-06-12 21:03:49

+0

tbh,对于minidom,这是最简单的方法 – Jharwood 2012-06-12 22:45:17

1

您可以尝试在?>一审切片字符串:

xml = xml[xml.index('?>') + 2:] 

我看着xml.dom.minidom包的源代码,我认为这将做的工作还有:

import xml.dom.minidom 

def writexml(self, writer, indent="", addindent="", newl="", encoding = None): 
    for node in self.childNodes: 
    node.writexml(writer, indent, addindent, newl) 

xml.dom.minidom.Document.writexml = writexml 

del writexml 
+0

是的,现在我通过一个子字符串手动删除它,但只是想知道是否有一种方法来生成它没有顶部的XML标记。 – bgrantdev 2012-05-01 00:25:50

+0

查看我的更新。不知道复杂性是否值得。 – Blender 2012-05-01 02:46:20