我有一个我无法控制的 HTML 表单,我想在页面上使用另一种布局向客户端显示内容(标签和输入文本/选择)(实际上是做一个“查看您的答案”页面) .
所以我非常需要将一个复杂的 HTML 表单转换为另一个 HTML 文档(或 DOM 节点树)。
在我看来,这与 XSL 转换的通常用例非常接近,只是输入不是 XML。
我只是想知道 XLST 是否是事实上的方法,或者我是否可以使用另一种技术(可能更适合非 XML 输入)?
不,你不能这样做,因为 HTML 不是 XML(除非它是 doctype xhtml)。
让我用一个简单的例子来解释:
<html>
<body>
<p>Para1
<br>
<p>Para2</p>
</body>
</html>
这是一个有效的 HTML 片段,但不是格式良好的 XML。而且您不能使用 XSL 转换无效的 XML。
如果您可以设法在通过 XSLT 转换它之前转换(无效的)HTML tp 有效 xhtm,它可能会起作用。您可以使用jtidy尝试此操作,但我没有使用 jtidy 的经验,