Tomcat - 网络XML DOM/SAX/PULL解析

首先, 解析本地的XML 参考     http://www.cnblogs.com/iMirror/p/4122082.html

学习Tomcat搭建本地服务器 参考

  在Tomcat默认访问目录 webapps/ROOT下新建XMLParserTest文件夹, 并新建persons.xml

    

  peosons..xml

    

  打开Tomcat , 查询IP地址, 打开该 persons.xml 可以通过访问 “http://192.168.1.111:8080/XMLParserTest/persons.xml”

  浏览器打开之后的截图

    

  Genymotion打开截图

    

  这就是说明访问该URL可以得到返回XML

  修改本地访问XML程序中的XMLParseActivity.java如下

package mirror.android.XMLParseActivity;

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

import org.apache.http.HttpConnection;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

import mirror.android.Services.DOMParseService;
import mirror.android.Services.PULLParseService;
import mirror.android.Services.SAXParseService;
import mirror.android.resolvexml.R;
import android.app.Activity;
import android.os.Bundle;

public class XMLParseActivity extends Activity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_xmlparse);

        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    String urlString = "http://192.168.1.111:8080/XMLParserTest/persons.xml";
                    URL url = new URL(urlString);
                    HttpURLConnection con = (HttpURLConnection)url.openConnection();

                    if(con.getResponseCode() == 200){

                        InputStream in = con.getInputStream();
                                       DOMParseService domParseService = new DOMParseService();                 domParseService.getPersonsByParseXML(in); SAXParseService saxParseService = new SAXParseService(); saxParseService.getPersonsByParseXML(in2); PULLParseService pullParseService = new PULLParseService(); pullParseService.getPersonsByParseXML(in3);

                        SAXParseService saxParseService = new SAXParseService();
                        saxParseService.getPersonsByParseXML(in);
                    }
                } catch (Exception e) {
                    e.getStackTrace();
                }

            }
        }).start();

        /*try {

            InputStream in1 = getAssets().open("persons.xml");
            InputStream in2 = getAssets().open("persons.xml");
            InputStream in3 = getAssets().open("persons.xml");

            DOMParseService domParseService = new DOMParseService();
            domParseService.getPersonsByParseXML(in1);

            SAXParseService saxParseService = new SAXParseService();
            saxParseService.getPersonsByParseXML(in2);

            PULLParseService pullParseService = new PULLParseService();
            pullParseService.getPersonsByParseXML(in3);

        } catch (IOException e) {
            e.printStackTrace();
        }*/
    }
}

  

    

时间: 2024-11-02 11:09:18

Tomcat - 网络XML DOM/SAX/PULL解析的相关文章

DOM/SAX/PULL解析XML

1. 代码结构 InterfaceXMLParseService 解析接口, DOM/SAX/PULL分别实现这个接口 XML来源是assets目录下的persons.xml文件 2. 代码 //persons.xml <?xml version="1.0" encoding="utf-8"?> <persons> <person> <id>1</id> <name>Tom</name&g

Java sax、dom、pull解析xml

-------------------------------------SAX解析xml---------------------------------- >Sax定义 SAX是一个解析速度快并且占用内存少的xml解析器,非常适合用于android等移动设备 SAX全称是Simple API for Xml,既是指一种接口,也是一个软件包 作为接口,sax是事件驱动型xml解析的一个标准接口 >Sax特点 1. 解析效率高,占用内存少 2.可以随时停止解析 3.不能载入整个文档到内存 4.

XML引入,DOM 方式解析XML 原理,SAX 方式解析XML

XML 简介 Xml(eXtensible Markup Language) 即可扩展标记语言.提供了一套跨平台.跨网络.跨程序的语言的数据描述方式,使用XML 可以方便地实现数据交换.系统配置.内容管理等常见功能. 元素VS 节点 节点包括元素节点.属性节点.文本节点:元素一定是节点,但是节点不一定是元素: <?xml version="1.0" encoding="UTF-8"?> <emp> <empName empNo=&quo

关于XML文档pull解析的新思考-内省的应用

今天,复习黑马第6天学习的pull解析XML文档,结合第10天讲的JavaBean,突然了有了新的思考. 以下是我创建的XML文档: <?xml version="1.0" encoding="UTF-8"?> <!-- 定义一个演示文档,存储黑马的所有班级,以及每个班级的信息 利用XML的功能之一:XML用来表示生活中有关系的数据  -->  <itheima>   <class>   <name>Anr

解析xml:dom,sax,jdom,dom4j,推荐dom4j

1):dom解析,放在内存中占用内存比较大 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); try { DocumentBuilder db = dbf.newDocumentBuilder(); Document d = db.parse("src/student.xml"); NodeList nl = d.getElementsByTagName("student"); El

Android开发之使用PULL解析和生成XML

请尊重他人的劳动成果,转载请注明出处:Android开发之使用PULL解析和生成XML 一.使用PULL解析XML 1.PULL简介 我曾在<浅谈XMl解析的几种方式>一文中介绍了使用DOM方式,SAX方式,Jdom方式,以及dom4j的方式来解析XML.除了可以使用以上方式来解析XML文件外,也可以使用Android系统内置的Pull解析器来解析XML文件. Pull解析器的运行方式与SAX解析器相似.它提供了类似的事件,如开始元素和结束元素事件.使用parser.next()可以进入下一个

Android中XML解析-PULL解析

前面写了两篇XML解析的Dom和SAX方式,Dom比较符合思维方式,SAX事件驱动注重效率,除了这两种方式以外也可以使用Android内置的Pull解析器解析XML文件. Pull解析器的运行方式与 SAX 解析器相似,也是事件触发的.Pull解析方式让应用程序完全控制文档该怎么样被解析,比如开始和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事件.通过Parser.getEventType()方法来取得事件的代码值,解析是在开始时就完成了大部分处理.事件将作为数值代码

XML文件解析【安卓7】——PULL解析

PULL解析         PULL --比DOM和SAX使用更方便 PULL解析相关类/接口 解析XML--包:org.xmlpull.vl XmlPullFactory类:解析器工厂类,用于创建解析器对象 XmlPullParser类:解析器类,用于解析XML文档 PULL解析相关方法 事件代码及方法 类型 描述 public static final int START_DOCUMENT 常量 文档开始 public static final int END_ DOCUMENT 常量 文

Android中pull解析XML文件的简单使用

首先,android中解析XML文件有三种方式,dom,sax,pull 这里先讲pull,稍候会说SAX和DOM pull是一种事件驱动的xml解析方式,不需要解析整个文档,返回的值是数值型,是推荐的解析方式 看代码: XML文件 <?xml version="1.0" encoding="UTF-8"?> <persons> <person id="23"> <name>孙洋洋</name