如果您能够对文档运行xslt—我想您可以—另一种方法将使这变得非常简单:<?xml version="1.0" encoding="utf-8"?>
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
Code,Source
,
注意元素的存在-这是为了插入换行符,这些换行符在CSV中语义上很重要,但在XML中不重要。在
输出:
^{pr2}$
要想在Python中运行它,我想您需要类似于this question中建议的方法:import lxml.etree as ET
dom = ET.parse(xml_filename)
xslt = ET.parse(xsl_filename)
transform = ET.XSLT(xslt)
newdom = transform(dom)
print(ET.tostring(newdom, pretty_print=True))
我不使用Python,所以我不知道这是否正确。
哎哟-我还忽略了您的XML文档是无效的-在第11行和第14行中缺少了开头的元素。将这些添加到它们所属的位置可以使文档转换正确。在