【发布时间】:2015-05-19 09:33:00
【问题描述】:
我有以下问题。在 Java 应用程序中,我必须使用 XPath 创建一个新的 XML 内容(我一直使用它来解析 XML 文件并获取其标签内的值,我也可以使用它来构建新的 XML 内容吗?) .
所以我的最终结果(必须保存在数据库 CLOB 字段中,而不是 .xml 文件中,但我认为这并不重要)必须是这样的:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Messaggio>
<Intestazione>
<Da>06655971007</Da>
<A>01392380547</A>
<id>69934</id>
<idEnel/>
<DataInvio>2015-05-06</DataInvio>
<DataRicezione/>
<InRisposta/>
<TipoDoc>Ricevuta</TipoDoc>
</Intestazione>
<Documenti>
<Ricevuta>
<Testata>
<Documento>
<Tipo>380</Tipo>
<NumeroDocumento>ff</NumeroDocumento>
<Stato>KO</Stato>
<Data>2014-03-10</Data>
</Documento>
</Testata>
<Dettaglio>
<Messaggio>
<Codice>000</Codice>
<Descrizione>Documento NON Conforme / NON dovuto</Descrizione>
</Messaggio>
</Dettaglio>
</Ricevuta>
</Documenti>
</Messaggio>
所以我需要做的就是以编程方式添加节点和这些节点的内容(内容是从模型对象中获取的)。
我可以使用 XPath 吗?怎么样?
Tnx
【问题讨论】:
-
最好使用 DOM 解析器来维护 XML 文档。您可以使用 Jaxb,它可以轻松创建对象模型表示
-
@KennethClark 不,这不是我需要的。我不需要创建模型对象的 XML 表示。我需要创建一个特定的 XML,它使用模型对象的几个字段和其他地方获取的一些其他信息
-
@KennethClark 您的声明“最好使用 DOM 解析器维护 XML 文档”在绝对意义上是完全错误的。大多数时候,XSLT 或 XQuery (Update) 的性能要好得多,需要的主内存少得多,而且更容易维护。当然,DOM 更胜一筹是有原因或场景的,但这绝不是一般的建议。