gpt4 book ai didi

xml - 处理包含内部转义 XML 的节点

转载 作者:数据小太阳 更新时间:2023-10-29 02:20:09 26 4
gpt4 key购买 nike

我有一个 XML 文档,其节点包含另一个对象的转义 XML 序列化,如本例所示:

<attribute>
<value>
&lt;map&gt;
&lt;item&gt;
&lt;src&gt;something&lt;/src&gt;
&lt;dest&gt;something else&lt;/dest&gt;
&lt;/item&gt;
&lt;/map&gt;
</value>
</attribute>

如何将 xslt 模板应用于内部 xml?特别是,我想得到一个包含 src/dest 的 html 表:

| src       | dest           |
| something | something else |

最佳答案

我会分两步执行此操作。

Step1.xsl:

<xsl:stylesheet 
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
<xsl:template match="/">
<root>
<xsl:apply-templates select="attribute/value" />
</root>
</xsl:template>

<xsl:template match="value">
<object>
<xsl:value-of select="." disable-output-escaping="yes" />
</object>
</xsl:template>
</xsl:stylesheet>

生成中间 XML:

<root>
<object>
<map>
<item>
<src>something</src>
<dest>something else</dest>
</item>
</map>
</object>
</root>

Step2.xsl

<xsl:stylesheet 
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
<xsl:template match="object">
<table>
<tr>
<xsl:for-each select="map/item/*">
<th>
<xsl:value-of select="name()" />
</th>
</xsl:for-each>
</tr>
<tr>
<xsl:for-each select="map/item/*">
<td>
<xsl:value-of select="." />
</td>
</xsl:for-each>
</tr>
</table>
</xsl:template>
</xsl:stylesheet>

生成 HTML 表格

<table>
<tr>
<th>src</th>
<th>dest</th>
</tr>
<tr>
<td>something</td>
<td>something else</td>
</tr>
</table>

关于xml - 处理包含内部转义 XML 的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1927522/

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