转换文件

时间:2013-12-08 12:39:36

标签: java xml docx docx4j

是否可以将这个.xml文件转换为java中的.docx programmaticaly,然后从.docx转换为.xml(使用docx4j,或者如何使用样本)?

<?xml version="1.0" encoding="UTF-8"?><document>
<el Id="1">
    <text>Bestätigt wurde ich in meinem Studienwunsch während meines neunmonatigem Freiwilligendienstes in Thailand, als ich intensive Kontakte zu der chinesischen Minderheit hatte. Mein Interesse für die Kultur und Sprache Chinas haben sich dadurch noch verstärkt.</text>
</el>
<el Id="2">
    <text>Ich bin bilingual aufgewachsen (deutsch, portugiesisch Brasilien) und habe in der Schule weitere Sprachen erlernt, deshalb sehe ich es als eine gute Abrundung meiner Sprachkenntnisse an Chinesisch zu erlernen.</text>
</el>
<el Id="3">
    <text>Ich möchte durch den Bereich BWL mehr über die inneren Zusammenhänge und Abläufe in einem Unternehmen erfahren.</text>
</el>
<el Id="4">
    <text>Welchen Studienschwerpunkt ich später wählen werde, kann ich zum heutigen Zeitpunkt noch nicht sagen und werde dies erst später entscheiden.</text>
</el>
<el Id="5">
    <text>Ich stelle mir vor, dass ich nach Abschluss meines Studiums in einem international operierendem Unternehmen oder Organisation eine Tätigkeit finde, die meinem Profil entspricht. Beispielsweise könnte dies in den Bereichen Import/Export, Logistik oder in der Projektarbeit bei einer internationalen Organisation sein.</text>
</el>
<el Id="6">
    <text Id="6"/>
</el>

.docx格式的文件:

Bestätigt wurde ich in meinem Studienwunsch während meines neunmonatigem  Freiwilligendienstes in Thailand, als ich intensive Kontakte zu der chinesischen Minderheit  hatte. Mein Interesse für die Kultur und Sprache Chinas haben sich dadurch noch  verstärkt. Ich bin bilingual aufgewachsen (deutsch, portugiesisch Brasilien) und habe in  der Schule weitere Sprachen erlernt, deshalb sehe ich es als eine gute Abrundung meiner  Sprachkenntnisse an Chinesisch zu erlernen. Ich möchte durch den Bereich BWL mehr über die inneren Zusammenhänge und Abläufe in einem Unternehmen erfahren. Welchen Studienschwerpunkt ich später wählen werde, kann ich zum heutigen  Zeitpunkt noch nicht sagen und werde dies erst später entscheiden. Ich stelle mir vor, dass ich nach Abschluss meines Studiums in einem  international operierendem Unternehmen oder Organisation eine Tätigkeit finde, die meinem Profil entspricht. Beispielsweise könnte dies in den Bereichen Import/Export, Logistik oder  in der Projektarbeit bei einer internationalen Organisation sein.

3 个答案:

答案 0 :(得分:1)

docx文件是XML的集合。但是,您可以使用Apache POI创建探索它的代码,并生成您需要的任何格式。

答案 1 :(得分:0)

您始终可以使用JDOM或SaxParser解析XML,并使用ApachePOI写入.docx,反之亦然。

您可以参考How to create a Word Document using Apache POI?

答案 2 :(得分:0)

XML到docx有三种基本方法:

  1. 解析你的XML(使用DOM或SAX);对于每个el元素,创建一个 w:p,并为每个文本元素创建w:r / w:t

  2. 使用XSLT将您的XML转换为:

    • WordML,然后将其用作docx中的主要文档部分,或者

    • Flat Open XML,然后将Flat Open XML转换为docx

  3. 使用导入XHTML内容(XML + CSS)

  4. 方法3最适合您的XML,您希望在您的docx中反映出来。

    您是否使用方法1或2取决于您更熟悉的方法。使用方法1,所有维护都将使用Java。使用方法2,您的一些代码是XSLT。

    docx4j将促进您更喜欢哪种方式