读取excel将值放入xml中

时间:2016-02-02 10:48:57

标签: java xml excel xpath

我有一个空请求xml: -

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org
/soap/envelope/" xmlns:mes="http://MessageView/">
<soapenv:Header />
<soapenv:Body>
  <mes:abcRq>
     <RqID>?</RqID>
     <MsgRqHdr>
        <ARqID>?</ARqID>
        <SRole>?</SRole>
        <SSession>?</SSession>
        <IP>?</IP>
        <PTy>?</PTy>
        <TID>?</TID>
        <TDt>?</TDt>
        <TSsDt>?</TSsDt>
        <IP>?</IP>
        <TPId>?</TPId>
        <LP>?</LP>
        <MxRLim>?</MxRLim>
        <CRLt>?</CRLt>
        <IP>?</IP>
        <PTy>?</PTy>
     </MsgRqHdr>
  </mes:abcRq>
</soapenv:Body>
</soapenv:Envelope>

对于这个xml,我计算了元素的xpath: -

RqID    RqID[1]
ARqID   MsgRqHdr[1]/ARqID[1]
SRole   MsgRqHdr[1]/SRole[1]
SSession    MsgRqHdr[1]/SSession[1]
IP  MsgRqHdr[1]/IP[1]
PTy MsgRqHdr[1]/PTy[1]
TID MsgRqHdr[1]/TID[1]
TDt MsgRqHdr[1]/TDt[1]
TSsDt   MsgRqHdr[1]/TSsDt[1]
IP_1    MsgRqHdr[1]/IP[2]
TPId    MsgRqHdr[1]/TPId[1]
LP  MsgRqHdr[1]/LP[1]
MxRLim  MsgRqHdr[1]/MxRLim[1]
CRLt    MsgRqHdr[1]/CRLt[1]
IP_2    MsgRqHdr[1]/IP[3]
Pty_1   MsgRqHdr[1]/PTy[2]

现在我有另一张名为Test数据表的表格,我根据我的测试用例放置了值,例如: -

TestDataID  RunTestForData  TestRequestRequired RqID    ARqID   SRole   SSession    IP  Pty TID TDt TSsDt   IP_1    TPId    LP  MxRLim  CRLt    IP_2    PTy_1
1.1.1   Yes Yes                         3               01  Top     99      NnECn
1.1.2   Yes Yes                         2               02  Top     100     ECn

现在,有没有办法可以读取测试数据excel的值并以某种方式将其放入xml中?

1 个答案:

答案 0 :(得分:0)

首先创建bean类并将要插入的所有值放入xml

已经提供了一些api来读取excel并在custome对象中存储值

请查看以下链接:http://examples.javacodegeeks.com/core-java/writeread-excel-files-in-java-example/

将所有值从excel存储到object后,使用Dom解析器将值从对象插入XML文件。

您可以从当前xml获取节点,并使用节点对象的setTextContent()放置值。

希望我会帮助你。