根据父节点值获取节点值

时间:2019-04-17 11:13:35

标签: java xml

我在下面有一个xml。 我必须获取成本值并将其存储到基于项目的数组列表中。 我将传递物料编号,并根据该物料编号获取其成本并将其存储在数组中。

<?xml version="1.0" encoding="UTF-8"?>
  <soapenv:Envelope>
   <soapenv:Body>
    <ns1:searchReturn xmlns:ns1="http://some.com/soa/services/v1">
     <ns1:products>
         <ns1:item>1234</ns1:sku>
         <ns1:prices>
            <ns1:to>49</ns1:to>
            <ns1:from>1</ns1:from>
           <ns1:cost>0.559</ns1:cost>
         </ns1:prices>
         <ns1:prices>
            <ns1:to>99</ns1:to>
            <ns1:from>50</ns1:from>
            <ns1:cost>0.488</ns1:cost>
         </ns1:prices>
     </ns1:products>
     <ns1:products>
         <ns1:item>5678</ns1:sku>
         <ns1:prices>
            <ns1:to>49</ns1:to>`enter code here`
            <ns1:from>1</ns1:from>
            <ns1:cost>0.059</ns1:cost>
         </ns1:prices>
         <ns1:prices>
             <ns1:to>99</ns1:to>
             <ns1:from>50</ns1:from>
             <ns1:cost>0.088</ns1:cost>
         </ns1:prices>
      </ns1:products>
   </ns1:searchReturn>
  </soapenv:Body
 </soapenv:Envelope>

这里商品标签和价格标签的范围相等,因此价格不是商品标签的子节点。

我尝试使用Java,但无法正常工作。

String elementXpath =“ / [local-name()='” + seachReturn +“']” +                 “ / [local-name()='products'] ['item =” + orderCode +“']”;

我将传递商品编号,并根据该商品编号获取其成本并将其存储在数组中。 就像我通过1234一样,它应该在此处输入代码,费用为0.559、0.488,并存储在数组列表中。

0 个答案:

没有答案