当前位置: 首页 > 知识库问答 >
问题:

XSLT分析同时包含转义字符和非转义字符的字符串(

柯景龙
2023-03-14

在XSLT 1.0中,处理此xml元素的最佳方法是什么

<Product>This is a product. &lt; and its price is < 10</Product>

请注意,“小于号”表示两次。i、 e.as<代码>'

退出<代码>

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" method="html" indent="yes" />
<xsl:template match="/">
  <html>
  <body>
    <table border="1">
      <tr>
        <th>Product</th>
      </tr>
      <tr>
        <td><xsl:value-of select="Product" disable-output-escaping="yes" /></td>
      </tr>
    </table> 
  </body>
  </html>
</xsl:template>

</xsl:stylesheet> 
  • 如果我将禁用输出转义设置为“是”,则

我该怎么做才能两者兼得?


共有3个答案

唐博文
2023-03-14

我认为第一种方法(禁用输出转义)是唯一的方法。否则会出现错误,不可能这样做。

您必须弄清楚如何防止(或修补)实体解析(

东方华晖
2023-03-14

答案很简单(正如其他人所暗示的,但不是直接说!)输入不是XML。XSLT根本无法处理该输入—您需要对其进行预处理,或者修复生成它的任何系统,以便它生成实际的XML,而不是看起来像XML的东西!

侯英达
2023-03-14

总的来说,我认为在XSLT 1.0中处理输入的最佳方法是使用其他工具将输入转换为XML,然后正常处理。XSLT处理器在遇到非XML输入时的行为往往不稳定。

 类似资料:
  • 问题内容: 我正在构建一个模拟器,以将JSON数据发布到正在运行的服务中。 JSON应该如下所示: 我在Chrome中使用“高级REST客户端”进行了尝试,效果很好。ServiceStack Web服务会正确解析日期获取。 因此,关键是编写一个传感器模拟器,将这样的数据发布到Web服务。 我用Java创建了它,因此可以在树莓派上运行它。 这是代码: 该程序的输出如下: 这里的问题是JSONObje

  • 我有一个字符串返回给我,其中包含转义字符。 这是一个示例字符串 " test\40gmail.com " 如您所见,它包含转义字符。我需要将其转换为其实际值,即 " test@gmail.com " 我该怎么做?

  • 问题内容: 我想在链接末尾获得名称,所以我做到了 Eclipse表示String文字没有被双引号正确关闭 如何比较String和这个char ? 问题答案: 字符“ \”是一个特殊字符,用作字符串的一部分时需要转义,例如“ \”。这是使用’'字符进行字符串比较的示例: 您还可以使用类似于以下内容的逻辑执行直接字符比较:

  • 问题内容: 为了回答这个问题,我设法通过转义反斜杠来使字符串成为转义字符。 当我尝试将其概括为转义所有转义的字符时,它似乎无能为力: 但是对于特定的转义字符使用相同的方法,它确实起作用: 有一般的方法可以做到这一点吗?应包括,,,等。 问题答案: 使用r’text’将字符串定义为raw,如下面的代码所示:

  • 反斜线()用于插入在 Markdown 语法中有特殊作用的字符。 这是用来 *演示* 的 _文本_ 这是用来 *演示* 的 _文本_ 这是用来 演示 的 文本 这是用来 *演示* 的 _文本_ 这些字符包括: ` * _ {} [] () # + - . !

  • 问题内容: 我有一个字符串,该字符串在Javascript中序列化为JSON,然后反序列化为Java。 看起来如果字符串包含度数符号,那么我遇到了问题。 我可以使用一些帮助找出应该归咎于谁: 是Spidermonkey 1.8的实现吗?(这具有内置的JSON实现) 是Google gson吗? 是我做不正确的事吗? 这是JSDB中发生的事情: 我本来希望这使我相信Spidermonkey的JSON