`

DOM解析XML文件实例

    博客分类:
  • 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());
    }
}

 

分享到:
评论

相关推荐

    DOM解析xml文件实例讲解

    本篇文章将深入探讨DOM解析XML文件在Android中的应用实例。 首先,DOM解析的基本思想是将整个XML文件加载到内存中,形成一个树形结构,即DOM树。这样做的优点是解析后的数据可以方便地进行任意位置的查找和修改,但...

    java dom 解析 xml 实例

    Java DOM 解析 XML 实例是 Java 语言中常用的 XML 解析方法之一,使用 W3C 推荐的文档对象模型(Document Object Model,DOM)来解析 XML 文档。DOM 提供了一个树形结构的对象模型,通过遍历树形结构可以访问和操作 ...

    DOM解析XML应用实例(入门经典案例)

    本教程“DOM解析XML应用实例(入门经典案例)”旨在帮助初学者快速掌握DOM解析XML的基本方法和实践技巧。 XML(Extensible Markup Language)是一种标记语言,常用于存储和传输数据,特别是在Web应用程序中。它具有...

    用dom解析xml文件

    使用DOM解析XML文件的步骤如下: 1. 加载XML文件:首先,你需要创建一个`DocumentBuilderFactory`对象,然后通过`newDocumentBuilder()`方法得到一个`DocumentBuilder`实例。接着,调用`parse()`方法,传入XML文件...

    Android Dom解析XML

    总结来说,Android中使用DOM解析XML是一种常见且直观的方式,适合处理小规模的数据。结合ButterKnife库,可以方便地将解析结果与UI组件进行绑定,提高代码的可读性和维护性。但请注意,对于大文件,考虑使用SAX或者...

    java_dom解析xml xml java

    标题“java_dom解析xml xml java”表明了本文档的主题是关于如何使用Java中的DOM技术来解析XML文件。 #### 描述分析 描述中提到这是一个适合新手入门的内容,并给出了一个简单的XML示例。该XML文档包含了一个`...

    android Dom解析xml文件

    本篇文章将深入探讨Android中的DOM解析XML文件,包括其基本原理、实现步骤和一些实用技巧。 ### 1. DOM解析的基本概念 DOM解析是一种将XML文件转换为内存中对象模型的方法。它将XML文档视为一棵树,其中每个元素、...

    java平台中使用DOM解析xml文件

    使用DOM解析XML的基本步骤如下: 1. **导入必要的库**:在Java中,DOM解析功能主要由`javax.xml.parsers`和`org.w3c.dom`包提供。因此,首先需要在代码中导入这些库: ```java import javax.xml.parsers....

    DOM_XML.rar_DOM_dom xml_dom xml java_dom解析xml_java解析xml

    标题中的"DOM_XML.rar"可能是一个包含DOM解析XML相关示例的压缩文件,"DOM_dom xml_dom xml java_dom解析xml_java解析xml"这部分描述了文件的主要内容,即关于DOM(Document Object Model)在XML解析中的应用,特别...

    SAX解析XML文件实例

    SAX解析XML文件的实例。一个项目同时用dom解析和sax解析xml文件貌似会报错,项目框架建一直是用sax和dom4j解析...当我用dom解析xml文件。导入包后就报错识别不了xml文件的编码格式。于是做了一个sax解析xml文件的实例

    使用dom4j 和本地dom 解析xml 文件

    在压缩包文件"复件 dom"中,可能包含了示例代码或教程,用于演示如何使用DOM4J和本地DOM解析XML文件。通过查看这些文件,你可以更深入地了解两种方法的具体实现,并在实际项目中选择合适的方式处理XML数据。 总结来...

    经典的DOM解析XML范例

    在提供的代码示例中,展示了如何使用DOM解析XML文件`library.xml`。首先,通过`DocumentBuilderFactory`创建解析器,然后解析文件,得到`Document`对象。接着,获取根元素`books`,并通过`getChildNodes()`遍历所有...

    java使用dom解析xml

    在处理大型 XML 文件时,DOM 解析可能会消耗大量内存,因为它需要将整个文档加载到内存中。如果内存资源有限或文件过大,可以考虑使用 SAX 或者 StAX 解析器,它们是基于事件驱动的,只在需要时读取数据,从而降低了...

    android上使用DOM解析XML

    以下是一个简单的Android DOM解析XML的代码示例: ```java try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); // 从...

    DOM解析xml一个demo实例

    很实用的一个dom解析xml实例,很容易上手

    JAVA 解析XML生成XML文档实例

    JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML

    java中用dom解析xml的经典入门级文档

    #### 四、使用DOM解析XML文档 接下来,我们通过一个简单的例子来看一下如何使用DOM来解析XML文档。 ##### 1. 示例XML文档 ```xml &lt;?xml version="1.0" encoding="gb2312"?&gt; &lt;name&gt;rjzjh &lt;price&gt;jjjjjj ``...

    Dom方式解析XML

    - DOM解析XML时需要一次性加载整个文件,对内存消耗较大,不适合处理大文件。 - 解析过程中可能出现异常,如文件不存在、格式错误等,需要进行异常处理。 - XML文件路径应正确,可能需要使用相对路径或获取绝对...

Global site tag (gtag.js) - Google Analytics