xml解析基础01

来源:互联网 发布:访客网络开启安全吗 编辑:程序博客网 时间:2024/05/16 15:43
 
package com.gas.test.hbxml;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import java.util.List;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import org.dom4j.Element;public class TestMain { /**  * <?xml version="1.0" encoding="gb2312"?><service_req ver="1.0"> <header ver="1.0">  <id>1001</id>  <pwd>123456</pwd> </header> <add_usr_req ver="1.0">  <add_usr_rept_url>http://123.123.12.12/servlet</add_usr_rept_url>  <user>   <msisdn>13812345678</msisdn>   <cxyw_msisdn>13812345678</cxyw_msisdn>   <name>行吗</name>   <sex>1</sex>   <birthday>2010-12-2</birthday>   <zip_code>100000</zip_code>   <address>北京市海淀区</address>   <email>swei@sina.com</email>   <vehicle_plate_number>京A12345</vehicle_plate_number>   <idcard_type>1</idcard_type>   <idcard_number>142312112212312313</idcard_number>  </user> </add_usr_req></service_req>  *   * */    /**  * FIXME   * @param args  * @throws DocumentException   * @throws IOException   */ public static void main(String[] args) throws IOException, DocumentException {  TestMain job = new TestMain();  job.analyXml(); }    /**  * 解析XML文件方法  * @throws IOException   * @throws DocumentException   */ public void analyXml() throws IOException, DocumentException{  String xmlBody = forTest("D:\\hebeixml\\hbreg.xml");  Document document = DocumentHelper.parseText(xmlBody);  Element root = document.getRootElement();  Element header = root.element("header");  String id = header.elementText("id");  String pwd = header.elementText("pwd");  Element add_usr_req =  root.element("add_usr_req");  String add_usr_rept_url = add_usr_req.elementText("add_usr_rept_url");  List<?> userList = add_usr_req.elements("user");  for (int i = 0; i < userList.size(); i++) {   Element userElement = (Element) userList.get(i);   System.out.println(userElement.elementText("msisdn"));   System.out.println(userElement.elementText("cxyw_msisdn"));   System.out.println(userElement.elementText("name"));   System.out.println(userElement.elementText("sex"));   System.out.println(userElement.elementText("birthday"));   System.out.println(userElement.elementText("zip_code"));   System.out.println(userElement.elementText("address"));   System.out.println(userElement.elementText("email"));  }    System.out.println(id);  System.out.println(pwd);  System.out.println(add_usr_rept_url); }      /**     * FIXME 读取文件     * @param file     * @return     * @throws IOException     */    private String forTest(String file) throws IOException {        BufferedReader in = new BufferedReader(new FileReader(file));        String s, s2 = new String();        while ((s = in.readLine()) != null)            s2 += s + "\n";        in.close();        return s2;    }     private String forTest2(String file) throws IOException {//根据编码方式读取文件内容,可防止中文乱码问题     InputStreamReader read = new InputStreamReader(new FileInputStream(file), "gb2312");        BufferedReader in = new BufferedReader(read);        String s, s2 = new String();        while ((s = in.readLine()) != null)            s2 += s + "\n";        in.close();        return s2;    } }

原创粉丝点击