Java 从XML模板构造变量HashMap对象

Java 从XML模板构造变量HashMap对象,java,xml,xslt,xml-parsing,Java,Xml,Xslt,Xml Parsing,我从Webservice收到以下XML: <ns1:irsValorationReturn xmlns:ns1="http://webServices.es"> <ns1:error xsi:nil="true"/> <ns1:format>dd/MM/yyyy</ns1:format> <ns1:pricingDate>02/09/2013</ns1:pricingDate> <ns1

我从Webservice收到以下XML:

<ns1:irsValorationReturn xmlns:ns1="http://webServices.es">
    <ns1:error xsi:nil="true"/>
    <ns1:format>dd/MM/yyyy</ns1:format>
    <ns1:pricingDate>02/09/2013</ns1:pricingDate>
    <ns1:results>
        <ns1:items>
           <ns1:bpv>-395.79435433174876</ns1:bpv>
           <ns1:npv>26960.051401523993</ns1:npv>
           <ns1:payingNpv>0.0</ns1:payingNpv>
           <ns1:pricingDelta>342.85778485967523</ns1:pricingDelta>
           <ns1:receivingNpv>26960.051401523993</ns1:receivingNpv>
           <ns1:swapRate>0.6811631117640043</ns1:swapRate>
        </ns1:items>
    </ns1:results>
</ns1:irsValorationReturn>

我认为在解析模板XML中,当您找到一个具有与模式{.+}匹配的值的标记时,可以在原始XML中搜索该标记。然后,将该条目与模板XML的键和原始XML的值一起放入Hashmap中

有更好的办法吗?我认为每次我找到一个具有可变值的节点时,解析原始XML可能会有点效率低下。

您检查过了吗

此外,这可能与他们讨论的
XStream
的内容重复


除非您有一个巨大的XML回复,否则我认为XStream解析速度足够快,而且可能比您自己解析XML还要快(不过这只是一个猜测,因为我不知道您是否想出了一个真正聪明的方法:)

谢谢Qben,但我的问题与参考文章不同,因为我需要之前的转换。无论如何,我将检查Xstream;)
BPV = -395.79435433174876; 
NPV = 26960.051401523993
<ns1:irsValorationReturn xmlns:ns1="http://webServices.es">
    <ns1:error xsi:nil="true"/>
    <ns1:format></ns1:format>
    <ns1:pricingDate><ns1:pricingDate>
    <ns1:results>
        <ns1:items>
            <ns1:bpv>{BPV}</ns1:bpv>
            <ns1:npv>{NPV}</ns1:npv>
            <ns1:payingNpv>{PAYING_NPV}</ns1:payingNpv>
            <ns1:pricingDelta>{PRICING_DELTA}</ns1:pricingDelta>
            <ns1:receivingNpv>{RECEIVING_NPV}</ns1:receivingNpv>
            <ns1:swapRate>{SWAP_RATE}</ns1:swapRate>
        </ns1:items>
    </ns1:results>
</ns1:irsValorationReturn>
BPV     = -395.79435433174876;
NPV_NEW = 26960.051401523993