JSON

XML与JSON报文解析.pptx

字号+ 作者:H5之家 来源:H5之家 2017-07-24 17:00 我要评论( )

内部资料注意保密 XML 与 JSON 目录 XML简介 XML、JSON对比 XML解析 JSON简介 JSON解析 XML、JSON转换 XML定义 扩展标记语言(Extensible Markup Language, XML)

文档介绍:
内部资料注意保密
XML

JSON
目录
XML简介
XML、JSON对比
XML解析
JSON简介
JSON解析
XML、JSON转换
XML定义
扩展标记语言(Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。
XML是标准通用标记语言(SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
XML简介
2017/7/19
XML格式
开始标签必须有一个结束标签
空元素标签必须被关闭
所有的标签都区分大小写,并且前后一致
所有的标签必须成对的出现,合理嵌套
所有的标签属性值必须用双引号或者单引号括起来
Xml只能有一个根元素
XML简介
2017/7/19
XML文档组成示例
XML简介
*
XML解析
<?xml version="1.0" encoding="utf-8" ?>
<Result>
<VALUE>
<NO DATE="2005">A1</NO>
<ADDR>GZ</ADDR>
</VALUE>
<VALUE>
<NO DATE="2004">A2</NO>
<ADDR>XG</ADDR>
</VALUE>
</Result>
示例代码
DOM解析
2017/7/19
DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像SAX那样是一次性的处理。DOM使用起来也要简单得多。
XML解析
2017/7/19
public class MyXMLReader{
public static void main(String arge[]){
try{
File f=new File("data_10k.xml");
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc = builder.parse(f);
NodeList nl = doc.getElementsByTagName("VALUE");
for (int i=0;i<nl.getLength();i++){
System.out.print("车牌号码:" + doc.getElementsByTagName("NO").item(i).getFirstChild().getNodeValue());
System.out.println("车主地址:" + doc.getElementsByTagName("ADDR").item(i).getFirstChild().getNodeValue());
}
}catch(Exception e){
e.printStackTrace();
}
XML解析
SAX
2017/7/19
SAX解析器采用了基于事件的模型,它在解析XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。SAX对内存的要求通常会比较低,因为它让开发人员自己来决定所要处理的tag.特别是当开发人员只需要处理文档中所包含的部分数据时,SAX这种扩展能力得到了更好的体现。但用SAX解析器的时候编码工作会比较困难,而且很难同时访问同一个文档中的多处不同数据。
XML解析
2017/7/19
public class MyXMLReader extends DefaultHandler {
java.util.Stack tags = new java.util.Stack();
public MyXMLReader() {
super();
}
public static void main(String args[]) {
try {
SAXParserFactory sf = SAXParserFactory.newInstance();
SAXParser sp = sf.newSAXParser();
MyXMLReader reader = new MyXMLReader();
sp.parse(new InputSource("data_10k.xml"), reader);
} catch (Exception e) {
e.printStackTrace();
}
}
public void characters(char ch[], int start, int length) throws SAXException {
String tag = (String) tags.peek();
if (tag.equals("NO")) {
System.out.print("车牌号码:" + new String(ch, start, length));
}
if (tag.equals("ADDR")) {
System.out.println("地址:" + new String(ch, start, length));
}
}
public void startElement(String uri,String localName,String qName,Attributes attrs) {
tags.push(qName);}
}
XML解析

1

内容来自淘豆网转载请标明出处.

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • AJAX如何接收JSON数据示例介绍

    AJAX如何接收JSON数据示例介绍

    2017-07-23 13:05

  • golang json的大小写技巧

    golang json的大小写技巧

    2017-07-22 16:06

  • JSON 解析和生成, TJSONValue, TJSONObject, TJSONPair, TJSONAr

    JSON 解析和生成, TJSONValue, TJSONObject, TJSONPair, TJSONAr

    2017-07-22 16:00

  •  WinJS实用开发技巧(1):XML转JSON

    WinJS实用开发技巧(1):XML转JSON

    2017-07-22 15:03

网友点评