1

xsd をマーシャリングして xml を生成しています。pdf を生成するための xsl-fo があります。新しい行に分割する必要がある説明フィールドがあります。このスレッドにあるものと同様のもの<xsl:value-of> を使用して XSL FO から生成された PDF に改行を挿入する

これはマーシャリングする私のコードです

JAXBContext context = JAXBContext.newInstance(List.class);
            Marshaller m = context.createMarshaller();
            m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
            m.setProperty("com.sun.xml.bind.xmlDeclaration", Boolean.FALSE);
            m.marshal(OrderList, stream);
            StringWriter sw = new StringWriter();
            m.marshal(OrderList, sw);
            String val = sw.toString();
            System.out.println(val);

マーシャリングすると、生成された xml は保持されず、&#xA;代わりに追加さ&amp;#xA;れ、結果は次のようになります <description>REPAIR CAB DOOR&amp;#xA;REPAIR &amp;#xA;</description>。xml にない場合&#xA、pdf に改行を作成できません。

4

1 に答える 1

2

わかりました、私はここで推測します(多少教育を受けていますが)。<description>要素の生成に対する入力が何であれ、 を含むべきではなく&#xA、 だけを含むべき'\n'です。つまり、代わりに:

"This is a List:&#xA;List item 1&#xA;List item 2&#xA;List item 3&#xA;List item 4"

そうあるべきだ

"This is a List:\nList item 1\nList item 2\nList item 3\nList item 4"
于 2012-12-05T23:44:12.830 に答える