如何使用XPath创建新的xml内容?

时间:2015-05-19 09:33:00

标签: java xml xpath

我有以下问题。在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

2 个答案:

答案 0 :(得分:1)

XPath是一种用于在XML文档中定位节点的API。它无法创建新节点或操纵现有节点。所以你需要的是找到要使用XPath修改的节点,然后使用找到的节点的API来进行更改。

但在你的情况下,你是从一个空文件开始的。查看像JDOM 2这样的框架,从头开始构建XML文档。本教程可以帮助您入门:http://www.studytrails.com/java/xml/jdom2/java-xml-jdom2-example-usage.jsp

答案 1 :(得分:1)

你做不到。 XPath是一种匹配技术,而不是内容创建技术。可能你在寻找XSLT?