zoukankan      html  css  js  c++  java
  • DOM解析XML文件实例

    XML文件:

    response:

    <?xml version="1.0"?>
    <soap:Envelope
     xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
        <soap:Body xmlns:m="http://www.nwpu.edu.cn/soa/xml/test ">
            <m:GetWeatherResponse>
                <m:Temperature>13.2</m:Temperature>
                <m:Weather >sunny</m:Weather >
            </m:GetWeatherResponse>
        </soap:Body>
    </soap:Envelope> 

    request:

    <?xml version="1.0"?>
    <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
        <soap:Body xmlns:n="http://www.nwpu.edu.cn/soa/xml/test">
            <n:GetWeather>
                <n:CityName>西安</n:CityName>
            </n:GetWeather>
        </soap:Body>
    </soap:Envelope>

    解析函数:

    package com.wjy.marshal;
    import java.io.File;  
    
    import javax.xml.parsers.DocumentBuilder;  
    import javax.xml.parsers.DocumentBuilderFactory;  
      
    import org.w3c.dom.Document;  
    import org.w3c.dom.Element;  
    import org.w3c.dom.NodeList;  
      
    public class GetCityName  
    {  
        private String xmlFilePath="C://Documents and Settings/Administrator/桌面/request.xml";
        public String getCityName()
        {  
            String result = "";
            try {
                // step 1: 获得dom解析器工厂(工作的作用是用于创建具体的解析器)  
                DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();  
                //System.out.println("class name: " + dbf.getClass().getName());  
                // step 2:获得具体的dom解析器  
                DocumentBuilder db = dbf.newDocumentBuilder();  
                //System.out.println("class name: " + db.getClass().getName());  
                // step3: 解析一个xml文档,获得Document对象(根结点)  
                Document document = db.parse(new File(xmlFilePath));  
                NodeList nodeList=document.getElementsByTagName("n:GetWeather");
                Element element=(Element)nodeList.item(0);
                result=element.getElementsByTagName("n:CityName").item(0).getFirstChild().getNodeValue();
    
            } catch (Exception e) {
                // TODO: handle exception
            }
            
            return result;
        }  
    }  
    package com.wjy.marshal;
    import java.io.File;  
    
    import javax.xml.parsers.DocumentBuilder;  
    import javax.xml.parsers.DocumentBuilderFactory;  
      
    import org.w3c.dom.Document;  
    import org.w3c.dom.Element;  
    import org.w3c.dom.NodeList;  
      
    public class GetCityWeather  
    {  
        private String xmlFilePath="C://Documents and Settings/Administrator/桌面/response.xml";
        public String getCityWeather()
        {  
            String tempurature = "";
            String weather="";
            try {
                // step 1: 获得dom解析器工厂(工作的作用是用于创建具体的解析器)  
                DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();  
                //System.out.println("class name: " + dbf.getClass().getName());  
                // step 2:获得具体的dom解析器  
                DocumentBuilder db = dbf.newDocumentBuilder();  
                //System.out.println("class name: " + db.getClass().getName());  
                // step3: 解析一个xml文档,获得Document对象(根结点)  
                Document document = db.parse(new File(xmlFilePath));  
                NodeList nodeList=document.getElementsByTagName("m:GetWeatherResponse");
                Element element=(Element)nodeList.item(0);
                tempurature=element.getElementsByTagName("m:Temperature").item(0).getFirstChild().getNodeValue();
                weather=element.getElementsByTagName("m:Weather").item(0).getFirstChild().getNodeValue();
    
                System.out.println(tempurature+"    "+weather);
            } catch (Exception e) {
                // TODO: handle exception
            }
            
            return tempurature;
        }  
    }  

    主函数:

    import com.wjy.marshal.GetCityName;
    import com.wjy.marshal.GetCityWeather;
    
    
    public class zhu {
        public static void main(String args[]){
            GetCityWeather getCityWeather=new GetCityWeather();
            getCityWeather.getCityWeather();
            
            
            GetCityName getCityName=new GetCityName();
            System.out.println(getCityName.getCityName());
        }
    }
  • 相关阅读:
    第一次通过CLR Profile解决内存占用过高的问题
    未处理的异常
    var和dynamic的区别及如何正确使用dynamic?
    C#添加本地打印机
    CSS样式
    CSS选择器
    Winform 数据绑定
    [CLR via C#]值类型的装箱和拆箱
    Java Object
    设计模式_创建型模式
  • 原文地址:https://www.cnblogs.com/wangjiyuan/p/jiexiXmlg.html
Copyright © 2011-2022 走看看