gpt4 book ai didi

python - xslt 模板根标签,在文本输出中省略

转载 作者:太空宇宙 更新时间:2023-11-03 11:55:02 36 4
gpt4 key购买 nike

我使用 xsl 将思维导图文件转换为 csv 树结构。我使用 python lxml

还有一个小问题——如何省略模板中必要的根标签?离开它们会导致:

AssertionError: ElementTree not initialized, missing root

源代码

<map version="0.9.0">

<node TEXT="Familie">
<node TEXT="Kinder">
<node TEXT="Sohn">
</node>

<node TEXT="Tochter">
<node TEXT="Hobbies">
<node TEXT="Fu&#xdf;ball">
</node>
</node>
</node>

</node>
</node>
</map>

输出。注意 p 标签。如何删除它们??

<p>,"Familie"
"Familie","Kinder"
"Familie","Kinder","Sohn"
"Familie","Kinder","Tochter"
"Familie","Kinder","Tochter","Hobbies"
"Familie","Kinder","Tochter","Hobbies","Fu&#223;ball"
</p>

我的表格

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" indent="no" encoding="ISO-8859-1" omit-xml-declaration="yes" media-type="string"/>
<xsl:strip-space elements="*" />

<xsl:template match="/">
<p>
<xsl:apply-templates/>
</p>
</xsl:template>

<xsl:template match="node">
<xsl:param name="par"/>
<xsl:variable name="nodetext" select="@TEXT"/>
<xsl:variable name="depth" select="count(ancestor::*)"/>
<xsl:value-of select="$par"/>,&quot;<xsl:value-of select="$nodetext"/>&quot;
<xsl:choose>

<xsl:when test="$depth&lt;2">
<xsl:apply-templates>
<xsl:with-param name="par" select="concat('&quot;',$nodetext,'&quot;')"/>
</xsl:apply-templates>
</xsl:when>

<xsl:otherwise>
<xsl:apply-templates>
<xsl:with-param name="par" select="concat($par,',&quot;',$nodetext,'&quot;')"/>
</xsl:apply-templates>
</xsl:otherwise>

</xsl:choose>

</xsl:template>

</xsl:stylesheet>

最佳答案

更改此模板:

<xsl:template match="/">
<p>
<xsl:apply-templates/>
</p>
</xsl:template>

...为此:

<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>

关于python - xslt 模板根标签,在文本输出中省略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13444721/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com