Python 使用lxml将长XML标记拆分为多行
我的python(2.7)脚本正在使用Python 使用lxml将长XML标记拆分为多行,python,xml,lxml,pretty-print,Python,Xml,Lxml,Pretty Print,我的python(2.7)脚本正在使用lxml库输出以下XML: 我想将其输出为多行,每个属性一行: 我想出了一个非常幼稚和低效的方法 使用lxml库生成xml后,我处理输出。 下面的代码仅测试用于lxml输出,并假设每行有一个标记 output=etree.tostring( 树, xml_声明=True, 漂亮的印刷品=真的, encoding=tree.docinfo.encoding, ) 输出=输出。替换(“\”,“\”\n”) 打开(文件名为“w”)作为f: 父项标记行=无 对于
lxml
库输出以下XML:
我想将其输出为多行,每个属性一行:
我想出了一个非常幼稚和低效的方法 使用
lxml
库生成xml后,我处理输出。
下面的代码仅测试用于lxml
输出,并假设每行有一个标记
output=etree.tostring(
树,
xml_声明=True,
漂亮的印刷品=真的,
encoding=tree.docinfo.encoding,
)
输出=输出。替换(“\”,“\”\n”)
打开(文件名为“w”)作为f:
父项标记行=无
对于i,枚举中的行(output.splitlines()):
行_=行.lstrip(“”)
线路标识=长(线路)-长(线路)
如果父标记行不是无:
如果行识别=0且行[:2]!=“您必须找到lxml使用的transformer serializer实现的文档,并确定它是否具有允许控制此操作的任何参数。我对此深表怀疑。感谢@JimGarrison的建议。我在lxml文档中查找了相关信息,但找不到任何相关信息。我可以在之后轻松地操作字符串标记,但我无法控制属性后的字符串。我还查阅了源代码,以检查是否可以自定义write()
函数中的方法
参数,但我没有从中获得任何信息。