Android 解析网络XML(果子TV更新升级模块解析二)
2013-03-26 16:18
441 查看
首先得到:得到 DOM 解析器的工厂实例 DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
然后从 DOM 工厂获得DOM解析器
DocumentBuilder dombuilder=domfac.newDocumentBuilder();
3 )把要解析的
XML 文档转化为输入流,以便 DOM 解析器解析它
InputStream is=
new FileInputStream("test1.xml");
( 4 )解析XML文档的输入流,得到一个Document
Document doc=dombuilder.parse(is);
( 5 )得到XML文档的根节点
Element root=doc.getDocumentElement();
( 6 )得到节点的子节点
NodeList books=root.getChildNodes();
Java代码
通过Uri获取网络xml:
网络Xml代码
然后从 DOM 工厂获得DOM解析器
DocumentBuilder dombuilder=domfac.newDocumentBuilder();
3 )把要解析的
XML 文档转化为输入流,以便 DOM 解析器解析它
InputStream is=
new FileInputStream("test1.xml");
( 4 )解析XML文档的输入流,得到一个Document
Document doc=dombuilder.parse(is);
( 5 )得到XML文档的根节点
Element root=doc.getDocumentElement();
( 6 )得到节点的子节点
NodeList books=root.getChildNodes();
Java代码
Parsexmlservices.java: package hdp.xunwei.fans.xmlParser; import java.io.InputStream; import java.util.HashMap; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class ParseXmlService { public HashMap<String, String> parseXml (InputStream inStream) throws Exception{ HashMap<String, String> hashMap = new HashMap<String, String>(); //创建DocumentBuilderFactory,该对象将创建DocumentBuilder。 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //创建DocumentBuilder,DocumentBuilder将实际进行解析以创建Document对象 DocumentBuilder builder = factory.newDocumentBuilder(); //解析该文件以创建Document对象 Document document = builder.parse(inStream); //获取XML文件根节点 Element root = document.getDocumentElement(); //获得所有子节点 NodeList childNodes = root.getChildNodes(); for(int i = 0; i < childNodes.getLength(); i++) { Node childNode = (Node) childNodes.item(i); if(childNode.getNodeType() == Node.ELEMENT_NODE) { Element childElement = (Element) childNode; //版本号 if("versioncode".equals(childElement.getNodeName())) { hashMap.put("versioncode", childElement.getFirstChild().getNodeValue()); //软件名称 } else if("name".equals(childElement.getNodeName())) { hashMap.put("name", childElement.getFirstChild().getNodeValue()); //下载地址 } else if("url".equals(childElement.getNodeName())) { hashMap.put("url", childElement.getFirstChild().getNodeValue()); //更新内容 } else if("details".equals(childElement.getNodeName())) { hashMap.put("details", childElement.getFirstChild().getNodeValue()); //xlh } } } return hashMap; } }
通过Uri获取网络xml:
GetDataFromServer.java
package hdp.li.fans.Utils; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; public abstract class GetDataFromServer { public final static InputStream getData(String url) { try{ URL uri = new URL(url); URLConnection connection=uri.openConnection(); connection.connect(); InputStream inputStream=connection.getInputStream(); return inputStream; }catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } }
网络Xml代码
<data> <versioncode>3</versioncode> <name>hdpfans</name> <url> http://android.guozitv.com/api/upload/guoziTv_2.0.apk </url> <details>模块修改</details> </data>
相关文章推荐
- 网络编程之android后台取服务器端xml解析之dom解析
- Android xUtils3源代码解析之网络模块
- Android网络之数据解析----SAX方式解析XML数据
- Android网络之数据解析----SAX方式解析XML数据
- Android 应用的自动升级、更新模块的实现
- android JSON与XmlPullParse解析网络连接数据
- AndroidManifest.xml 文件属性解析(持续更新)
- Android应用的自动升级、更新模块的实现
- Android应用的自动升级、更新模块的实现
- Android - 获取网络数据,Bitmap,ANR,主线程模型,消息机制,UserAgent,乱码问题,xml生成与解析,JSON解析,MVC,SmartImageView
- android解析JSON,XML数据的请求网络工具类
- Android应用市场省流量更新(增量升级)原理解析
- Android官方开发文档Training系列课程中文版:网络操作之XML解析
- Android应用的自动升级、更新模块的实现
- Android-通过网络获取xml文件使用pull解析得到服务器中的信息(新闻客户端)
- Android网络之数据解析----SAX方式解析XML数据
- 【Android Training - Connectivity】基本网络操作 [ Lesson 3 - 详解如何解析XML数据 ]
- Android 网络获取数据之XML解析
- Android访问网络系列之--服务端返回XML或JSON格式数据,Android 进行解析并显示
- Android应用的自动升级、更新模块的实现完整方案理解