XSLT转换只提供根元素pythonlxm

2024-04-26 00:10:02 发布

您现在位置:Python中文网/ 问答频道 /正文

目前正在使用以下代码进行XML-XSLT转换。在

from lxml import etree

xmlRoot = etree.parse('path/abc.xml')
xslRoot = etree.parse('path/abc.xsl')
transform = etree.XSLT(xslRoot)
newdom = transform(xmlRoot)
print(etree.tostring(newdom, pretty_print=True))

下面的代码工作正常,但只给出root element作为输出,而不是整个XML内容。当我为相同的XML and XSL file using Altova运行转换时,它可以很好地完成转换。打印整个XML的语法是不同的还是在这里发现了任何错误?在

XML内容:

^{pr2}$

XSL内容:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output encoding="UTF-8" indent="yes" method="xml" standalone="yes" version="1.0"/>
    <xsl:template match="/">
        <p:sld xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main">
            <xsl:for-each select="root/slide">
                <xsl:choose>
                    <xsl:when test="@nav_lvl_1='Solutions'">
                        <xsl:if test="@nav_lvl_2='Value Map'">
                             <p:txBody>

                                    <a:p>
                                        <a:r>
                                            <a:rPr lang="en-US" dirty="0" smtClean="0"/>
                                            <a:t>
                                               <xsl:value-of select="title"/>
                                            </a:t>
                                        </a:r>
                                        <a:endParaRPr lang="en-US" dirty="0"/>
                                    </a:p>
                            </p:txBody>
                      </xsl:if>
                </xsl:when>
            </xsl:choose>
        </xsl:for-each>
    </p:sld>
</xsl:template>

电流输出:

<p:sld xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main"/>

Tags: orghttp内容mainversionxmlschemasyes