XSLT错误输出格式错误的XML

时间:2016-03-31 19:04:08

标签: xml xslt

我正在尝试使用XSLT(v 1.0)对由我无法控制的服务器生成的XML文档进行转换。虽然通常不是问题,但一个文件有一个特定格式错误的<br>标记:

<item>
  <sub-item>
    <rich-text>
      <p> text<br></p> //This comes from another server
    </rich-text>
  </sub-item>
</item>

由于XML格式错误,导致我的XSLT失败。

有没有办法在XSLT中忽略或转义此标记?

最终,这个XSLT将是我无法控制的服务器上的导出,因此在运行导出之前我无法以任何方式操纵XML。

1 个答案:

答案 0 :(得分:1)

您的文档不是XML。如果没有关闭b,它就不是格式良好的,因此也不是XML。

您的选择是:

  1. 修复文档的来源以提供XML。
  2. 手动将其修复为XML。
  3. 自动将其修复为XML。
  4. 将其解析为非XML。
  5. 选项1确实是最好的,因为您可以简单地说明要求:生成XML。这样做有一套明确的,既定的规则;另一方面,有无数种方法可以不这样做。

    请注意,选项2,3和4需要将数据视为文本,而不是XML。

    Tidy可能有助于选项3。

相关问题