zoukankan      html  css  js  c++  java
  • jeecg解析xml文件

    xml模板

    <Envelope>
      <Header>
        <ServiceHeader>
          <PubSub_Command>Publish</PubSub_Command>
          <PubSub_Topic>/IEM/IEMINFO</PubSub_Topic>
          <Requester_ID>IEM</Requester_ID>
          <SID>14002601016081614000241000024100</SID>
        </ServiceHeader>
      </Header>
      <Body>
        <Root ATTRIBUTE="XML">
          <HeaderInfo>
            <business_no>IMP160614001</business_no>
            <ie_flag>I</ie_flag>
            <bonded_type>NB</bonded_type>
            <trade_co>2939392823</trade_co>
            <trade_name>上海延锋江森座椅有限公司</trade_name>
            <contract_no>B681232</contract_no>
            <trade_mode>0110</trade_mode>
            <cut_mode />
            <trans_mode>3</trans_mode>
            <pack_no>4</pack_no>
            <trade_country>101</trade_country>
            <relation_confirm>N</relation_confirm>
            <price_confirm>N</price_confirm>
            <pay_confirm>N</pay_confirm>
          </HeaderInfo>
          <ListInfo>
            <Item>
              <item_index>1</item_index>
              <customs_index>1</customs_index>
              <g_no />
              <hs_code>9401901900</hs_code>
              <g_name>9401901900</g_name>
              <g_comment>9401901900</g_comment>
              <qty>800.0000</qty>
              <unit>007</unit>
              <qty1>5.8000</qty1>
              <unit1>035</unit1>
              <qty2 />
              <unit2 />
              <price>0.58000</price>
              <trade_total>464.00</trade_total>
              <curr>502</curr>
              <org_country>501</org_country>
              <to_country>142</to_country>
              <duty_mode>1</duty_mode>
              <material_no>565 881 559 A等</material_no>
              <book_no>SEB0RE4/SEB0RE1</book_no>
            </Item>
            <Item>
              <item_index>2</item_index>
              <customs_index>2</customs_index>
              <g_no />
              <hs_code>9401901900</hs_code>
              <g_name>9401901900</g_name>
              <g_comment>9401901900</g_comment>
              <qty>224.0000</qty>
              <unit>007</unit>
              <qty1>39.8000</qty1>
              <unit1>035</unit1>
              <qty2 />
              <unit2 />
              <price>7.86598</price>
              <trade_total>1761.98</trade_total>
              <curr>502</curr>
              <org_country>502</org_country>
              <to_country>142</to_country>
              <duty_mode>1</duty_mode>
              <material_no>2935369</material_no>
              <book_no>SEB0RE9</book_no>
            </Item>
          </ListInfo>
        </Root>
      </Body>
    </Envelope>

    目标,解析并获取root子标签下的标签名与值

    后台Main方法test

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.dom4j.io.OutputFormat;
    import org.dom4j.io.SAXReader;
    import org.dom4j.io.XMLWriter;
    import org.json.JSONObject;
    
    import com.jeecg.decmain.entity.DecMainEntity;
    import com.jeecg.decmain.page.DecMainPage;
    
    public class TestXml {
    
        public static void main(String[] args)throws Exception {
            
            JSONObject jsob=new JSONObject();
            List<String> reslist = new ArrayList<String>();
            SAXReader reader = new SAXReader();
            Document document = reader.read(new File("D://test//001xml.xml"));
            /**
             * 节点对象的操作方法
             */
            
            //获取文档根节点
            Element root = document.getRootElement();
            //获取根节点下面的所有子节点(不包过子节点的子节点)
            List<Element> list = root.elements() ;
            
            //获得指定节点下面的子节点
            Element contactElem = root.element("Body").element("Root").element("HeaderInfo");//首先要知道自己要操作的节点。 
            List<Element> contactList = contactElem.elements();
            for (Element e:contactList){
                //System.out.println(e.getName()+":"+e.getText());
                jsob.put(e.getName(), e.getText()); 
                reslist.add(e.getName()+":'"+e.getText()+"'");
             }  
            Element contactElem2 = root.element("Body").element("Root").element("ListInfo");
         //遍历该标签下的所有子标签
    for(Iterator emp4=contactElem2.elementIterator();emp4.hasNext();){ Element employee5 = (Element) emp4.next(); /*节点名称和节点内容以KEY VALUE的方式保存到JSON对象*/ for(Iterator emp5=employee5.elementIterator();emp5.hasNext();){ Element employee6 = (Element) emp5.next(); reslist.add(employee6.getName()+":'"+employee6.getText()+"'"); } } System.out.println(reslist); } }
  • 相关阅读:
    MFC记录
    【转】linux下tty,控制台,虚拟终端,串口,console(控制台终端)详解----不错
    【转】五大绝招复制不能复制的网页文字
    【转】DELL戴尔N4050笔记本拆机(图文)
    【转】Linux下tar.xz结尾的文件的解压方法
    【转】在Ubuntu 12.04 上为Virtualbox 启用USB 设备支持--不错
    【转】Android adb shell操作时出现“ XXX ... Read-only file system”解决办法--不错
    【转】VirtualBox direct access to SD Card in Windows--不错
    网址
    TensorFlow 学习(九)—— 初始化函数(概率分布函数 api、常数生成函数)
  • 原文地址:https://www.cnblogs.com/xueblvip/p/12201426.html
Copyright © 2011-2022 走看看