Java JAXB - 将输出链接到XSLT文档

时间:2012-03-01 09:59:34

标签: java xml xslt

我在JAXB的帮助下生成XML文件。

public String getPrices() {
    StringWriter writer = new StringWriter();
    JAXBContext context;
    try {
        context = JAXBContext.newInstance(AllMerchandises.class);
        Marshaller m = context.createMarshaller();
        m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
        m.marshal(this.allMerchandises, writer);
    } catch (JAXBException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return writer.toString();
}

生成的XML String如下所示。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:merchandises xmlns:ns2="example/test/workspace">
<merchandise id="1">
    <name>Cat</name>
    <price>50</price>
</merchandise>
<merchandise id="2">
    <name>Dog</name>
    <price>100</price>
</merchandise>
<merchandise id="3">
    <name>Ape</name>
    <price>150</price>
</merchandise>
<merchandise id="4">
    <name>Gorilla</name>
    <price>200</price>
</merchandise>
<merchandise id="5">
    <name>Elephant</name>
    <price>250</price>
</merchandise>
</ns2:merchandises>

我的任务是使用XSLT在浏览器中显示一些文档。因此,我需要在我的XML文件中包含.xsl。是否有一种方法可以告诉JAXB marshaller进行包含?除此之外我该怎么办? 我需要包括这样的第二行:

<?xml-stylesheet type="text/xsl" href="myfile.xsl"?>

感谢每一个好主意

1 个答案:

答案 0 :(得分:1)

最后,我最终使用了与此主题中描述的相同的解决方案。

Making JAXB generate an XML processing instruction