在Java中使用XSLT进行HTML到XML的转换

时间:2012-02-18 10:12:28

标签: java html xml xslt

您好任何人都可以帮助我使用java中的xslt进行xml到xml转换。我使用java中的xslt将xml转换为html。这是我用于该转换的代码:

import javax.xml.transform.*;

import java.net.*;
import java.io.*;

public class HowToXSLT {

public static void main(String[] args) {

  try {

    TransformerFactory tFactory = TransformerFactory.newInstance();

    Transformer transformer =
      tFactory.newTransformer
         (new javax.xml.transform.stream.StreamSource
            ("howto.xsl"));

    transformer.transform
      (new javax.xml.transform.stream.StreamSource
            ("howto.xml"),
       new javax.xml.transform.stream.StreamResult
            ( new FileOutputStream("howto.html")));
    }
  catch (Exception e) {
    e.printStackTrace( );
    }
  }
}

但我不知道这个程序的反向过程是将html转换为xml?有没有可用的jar文件?请帮帮我......

5 个答案:

答案 0 :(得分:3)

通常,“反转”转换是不可能的,因为一般情况下的转换不是1:1映射。

例如,如果转换执行此操作:

<xsl:value-of select= "/x * /x"/>

我们得到结果:16

(我们知道源XML文档只有一个元素),

无法从值16确定源XML文档是否为:

<x>4</x>

或是否:

<x>-4</x>

以上只是一个简单的例子!:)

答案 1 :(得分:1)

这取决于你想要做什么。 显然,howto.xsl包含要在xml上应用html的规则 您将不得不编写另一个xsl文件来执行相反的操作。

答案 2 :(得分:0)

我相信这是不可能的。 XLST输入必须符合XML,并且HTML不符合XML(除非您谈论XHTML)。

答案 3 :(得分:0)

可能你需要首先制作你的html xhtml投诉,然后使用xsl(与原来的xsl相反),其中包含将xhtml文件转换为xml的指令。

答案 4 :(得分:-1)

不可能,您可以使用Microsoft.XMLDOM从HTML转换为XML。