在XML文件中,我在源代码中看到了这一点:
<#>
会导致其他应用程序出现问题,并将其视为&lt;#&gt;
我正在使用XSLT2.0并尝试对#to div中的任何内容进行替换,以完全删除带有空字符串的<#>
。
我通过将结构放在变量中并替换它来完成此操作。
替换功能的结果是我也失去了所有其他元素。 欢迎任何建议。 输入看起来像这样:
`<html>
<body>
<p><#>This is just a test</p>
</body>
</html>`
但它看起来也像这样:
`<html>
<body>
<#><p>This is just a test</p>
</body>
</html>`
通缉出来的是:
`<html>
<body>
<p>This is just a test</p>
</body>
</html>`
我试过的XSL就是这个,它删除了所有元素。我确实看到我在副本上这样做,所以&#39;可能是错的......:
`<xsl:template name="body">
<xsl:copy-of select="replace($bodycontent, '#', 'div /')" />
</xsl:template name="body">
<xsl:variable name="bodycontent">
<xsl:apply-templates select="/newsMessage/itemSet/newsItem/contentSet/inlineXML/h:html/h:body/h:section/h:p" />
<p class="txt-ind">
<xsl:value-of select="//rightsInfo/copyrightHolder/name" />
</p>
</xsl:variable>`
答案 0 :(得分:2)
如果您使用
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="text()">
<xsl:value-of select="replace(., '<#>', '')"/>
</xsl:template>
在线删除所有这些字符