【发布时间】:2016-06-20 20:31:00
【问题描述】:
public class MultiXslt
{
public static void main(String[] args) throws TransformerException,ParserConfigurationException, SAXException, IOException
{
//source xslt
StreamSource stylesource = new StreamSource("C:/Users/santhanamk/Desktop/newxslt/Xslt inputs/Idml0.xsl");
DocumentBuilderFactory docbFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder dBuilder = docbFactory.newDocumentBuilder();
//source XML
Document sourceDoc = dBuilder.parse("C:/Users/santhanamk/Desktop/newxslt/input.xml");
DOMSource source = new DOMSource(sourceDoc);
TransformerFactory transformerFactory = TransformerFactory
.newInstance();
Transformer transformer = transformerFactory
.newTransformer(stylesource);
Document document = dBuilder.newDocument();
DOMResult result = new DOMResult(document);
transformer.transform(source, result);
Node resultDoc = ((Document) result.getNode()).getDocumentElement();
System.out.println(resultDoc.getChildNodes().getLength());
// print the result
StringWriter writer = new StringWriter();
Transformer transformer2 = transformerFactory.newTransformer();
transformer2.transform(new DOMSource(resultDoc), new StreamResult(writer));
String s = writer.toString();
}
}
实际上我有一个 xml 文件和多个 xsl 文件(C:/Users/santhanamk/Desktop/newxslt/Xslt 输入/xsl 列表)。当我将 xml 和 xsl0 作为输入时,我需要将输出作为字符串。所以在我得到输出后,我需要为 xsl1 提供与输入字符串相同的输出,以获得另一个输出(字符串)。然后我需要将输出作为 xsl2 的输入字符串来获得另一个输出。当给定的源目录(C:/Users/santhanamk/Desktop/newxslt/Xslt 输入/xsl 列表)没有任何新的 xsl 文件来加载输出字符串时,它应该以 xml 形式给出最终输出!
【问题讨论】:
-
所以你的问题是,你如何循环输入 xlst 文件?
-
如果您有一个 XSLT 样式表目录,您如何确定要应用的样式表的顺序?
-
实际上,我有很多名为 idml0,idml1,idml2,idml3.....idml16 和单个 xml(input.xml) 的 xsl 文件。
-
现在我正在处理 1 或 2 个 xslt 文件。