gpt4 book ai didi

xml - 选择包含额外属性的特定元素

转载 作者:行者123 更新时间:2023-12-03 17:22:28 25 4
gpt4 key购买 nike

我对XSLT相当陌生,并且想知道如何替换某些元素。基本上,我想用一个普通的BR替换带有额外属性的BR元素。 XML如下:

<outer_element>
<p>
<font face="Arial">
Invitations<br>
</font>
<font face="Arial">
Charts<br>
</font>
</p>
<span style="font-size:12pt;">
<br clear="all" style="font-size:18pt;">
</span>
<outer_element>


以下是XSL的一部分:

<xsl:template match="//outer_element">
<xsl:element name="outer_element">
<xsl:value-of select="."/>
</xsl:element>
<xsl:element name = "text">
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>


另外,我不确定我要寻找的是XSLT 1.0还是XSLT 2.0解决方案。

最佳答案

您输入的不是有效的XML / XHTML。 br应该关闭:<br/>。同样,最后的结束标签也不是结束标签。
如果您不希望使用有效的XHTML,请查看https://jsoup.org/http://www.html-tidy.org/

顺便说一句:有一个名为identity transform的XSLT模式,该模式将输入递归地复制到输出中,但是允许您覆盖所需每个元素的复制过程。

基本模式锁定是这样的。

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>


现在为 br添加一个模板,该模板仅复制元素,而不复制属性:

<xsl:template match="br">
<xsl:copy/>
</xsl:template>


应该是这样。

关于xml - 选择包含额外属性的特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52881902/

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