XML_JSON
来源:互联网 发布:山东黄金历史交易数据 编辑:程序博客网 时间:2024/06/16 21:37
XML
XML:可扩展标记语言,用来传输和储存数据
XML的语法规范
所有XML都须有关闭标签
<TextView></TextView>
<TextView/>
XML标签对大小写敏感
XML必须正确的嵌套
Android中XML的解析:
SAX(不常用)
DOM4J
PULL
DOM4J
DOM解析是把整篇XML文档都加在到内存中,然后使用DOM相关的API对某个或某些标签进行增删改查
PULL
PULL解析是使用事件驱动的方式,边读取边解析。当PULL解析器遇到文档中的某个节点时,
都会触发相应事件,我们可以捕获这些事件,并且在该时间点解析相关内容。
DOM4J比PULL解析浪费资源,但是API设计合理、简单。PULL比较适合较大的XML文档解析。DOM4J可以把文档内容都装入内存,然后可以获取任意的标签及标签属性、文本等内容。如何使用DOM4J解析XML?1>导入jar包。2>获取Document对象。3>调用Document.getRootElement()获取根节点。4>调用Element对象的相关API解析xml文件。最常用的API:SAXReader reader = new SAXReader();Document doc = reader.read(...);e=doc.getRootElement()e.elements() 获取子标签集合e.iterator() 获取迭代子标签的迭代器e.getName() 标签名e.getText() 标签文本e.getTextTrim() ..........PULL: PULL解析是使用事件驱动的方式,边读取边解析。 当PULL解析器遇到文档中的某个节点时,都会触发 相应事件,我们可以捕获这些事件,并且在该时间 点解析相关内容。如何使用PULL的方式解析xml?1>创建xmlpull解析器: XmlPullParser parser = Xml.newPullParser(); parser.setInput(is);2>获取事件类型,并且配合while循环,不断驱动事件 并且解析文档内容: int type=parser.getEventType(); while(type != XmlPullParser.END_DOCUMENT){ 根据事件类型解析文档 向后继续驱动事件 type = parser.next(); }JSONJSON是一款轻量级的数据交换格式<user> <name>zs</name> <age>21</age> <gender>M</gender> <aihao>吃</aihao> <aihao>喝</aihao> <aihao>玩</aihao> <aihao>乐</aihao> <school> <name>tarena</name> <loc>bj</loc> </school></user>{ "name":"zs", "age":21, "gender":"M", "aihao":["吃","吃","吃","吃"], "school":{ "name":"tarena", "loc":"bj" }}解析JSON需要两个类:JSONObject : 描述一个JSON对象 {}JSONArray : 描述一个JSON数组 []如何解析JSONObject:String json={ "name":"zs", "age":21, "gender":"M", "aihao":["吃","吃","吃","吃"], "school":{ "name":"tarena", "loc":"bj" }}JSONObject obj = new JSONObject(json);String name=obj.getString("name");obj.getInt("age");JSONArray ary=obj.getJSONArray("aihao");obj.getJSONObject("school").getString("loc");解析JSONArray:ary.length() 数组长度ary.getString(0) 获取下标为0的字符串["", 234, true, "", 2342]ary.getInt(1)[{},{},{},{},{},{}]for(int i=0; i<ary.length(); i++){ ary.getJSONObject(i); ......}
0 0
- XML_JSON
- XML_JSON数据解析
- VxWorks中logMsg与printf的区别
- Golang Web编程的Get和Post请求发送与解析
- 多重背包二进制优化模板分析
- 责任链模式
- 深入理解Java虚拟机--垃圾回收算法
- XML_JSON
- 一个程序学会python的流程控制
- php之字符串
- Android进程管理之taskinfo模型
- 一个很赞的RecyclerView Adapter辅助类
- 响应式网页必备——media媒体查询
- 实现一个简易的IoC框架(上)(此篇与Spring.NET无关,为自己手写IoC框架)
- 《剑指offer》-左旋转字符串
- 关于Oracle Sales Cloud中产品组模板下载与数据导入的配置