請幫助我,我正在做項目的文件轉換,它使用xsl在java中將xml轉換爲html,並且我需要使用xsl將html轉換爲xml。我的第一個過程是結束了,但我在轉換的第二部分構建..是否有任何可能做這種轉換。我會告訴你的第一個過程的確切流程...在java中使用xslt創建基於html的xml
這是我的示例xml文件: tabl.xml:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xml" href="testxsl.xsl"?>
<mainpara>
<epigraph>
<para>Though successful research demands a deep
<emphasis role="italic">trained</emphasis>
<emphasis role="italic">taught</emphasis> to regard.
</para>
<para>Kuhn (1976, p. 66)</para>
</epigraph>
<blockquote role="extract">
<para>Though successful research demands a deep commitment to the status quo.
<emphasis role="italic">trained</emphasis>
<emphasis role="italic">taught</emphasis>
</para>
</blockquote>
</mainpara>
這是我的樣本XSL文件:
testme.xsl
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="mainpara">
<html>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="epigraph">
<div>
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="para">
<p>
<xsl:apply-templates/>
</p>
</xsl:template>
<xsl:template match="blockquote">
<b>
<xsl:apply-templates/>
</b>
</xsl:template>
</xsl:stylesheet>
這是我的示例Java文件:
Main.java
import java.io.File;
import java.io.InputStream;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
public class Main {
public static void simpleTransform(String sourcePath, String xsltPath,
String resultDir) {
TransformerFactory tFactory = TransformerFactory.newInstance();
try {
Transformer transformer =
tFactory.newTransformer(new StreamSource(new File(xsltPath)));
transformer.transform(new StreamSource(new File(sourcePath)),
new StreamResult(new File(resultDir)));
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
System.setProperty("javax.xml.transform.TransformerFactory",
"net.sf.saxon.TransformerFactoryImpl");
simpleTransform("E:/bh/tabl.xml","E:/bh/testme.xsl", "E:/bh/me.html");
//simpleTransform("E:/bh/me.html","E:/bh/11111.xsl","E:/bh/tab.xml"); //This is i need
}
}
這是我生成的HTML文件:
<html>
<body>
<div>
<p>Though successful research demands a deep commitment to the status quo, innovation
</p>
<p>Kuhn (1976, p. 66)</p>
</div>
<b>
<p>Though successful research demands a deep commitment to the status quo
</p>
</b>
</body>
</html>
現在我將編輯這個HTML文件後,編輯該html文件我需要再次將其轉換爲xml文件或xhtml文件,這是我需要相反的過程。我認爲只有通過修改xsl纔有可能。是否有可能基於該html創建xsl。如果我創建了xsl文件,那麼我在上面的java程序中傳遞了這個xsl文件(我在主程序中註釋了該行)。因此我必須創建該xsl文件。
請幫助我。我需要你的幫助..提前