XML

XML的概念

XML(eXtensible Markup Language) 可扩展标记语言

XML文档是结构化的,其结构化主要体现在以下两个方面:

  1. 每一部分都和其他元素有关联,这种关联就形成了树形结构.
  2. 标记本身的含义与它 描述的信息相分离.

XML的起源与作用

Ø  XML和HTML一样,都衍生于SGML

Ø  作用就是要统一信息的结构

 XML文档结构

<书架>

  <书>

      <书名>诛仙</书名>

      <作者>萧潜</作者>

  </书>

  <书>

      <书名>沉重的房子</书名>

      <作者>高鸿</作者>

  </书>

</书架>

 
                                                            

XML文档的构成

  • 文档声明
  •  元素定义
  • 属性定义
  • 注释
  • CDATA区
  • 特殊字符
  • 处理指令

文档声明:

 <?xml version="1.0" ?>

 其他属性

  1.  encoding
  2. standalone

 元素定义

 与HTML一样,XML文档的主体内容部分也是由元素(Element)组成的

 一个XML元素由一个标记来定义,包括开始和结束标记以及其中的内容

 空元素:<img></img>和<img/>

遵守的规范:区分大小写 ;不能以数字或“_”开头;不能以字符组合xml、XML、Xml开头;不能包含空格;名称中间不能包含冒号 

属性定义

Ø  与HTML一样 也可以为XML标签设置属性。

Ø  XML中的属性也是自己随便定义的,用与对标签进一步说明和描述

Ø  属性值一定要用双引号或单引号引起来

<售价 单位=“元”>25</售价>

Ø  属性可以改为子元素来描述同样的信息

     <售价>

<单位>元</单位>

<价格>25</价格>

</售价> 

 注释

Ø  XML文档与HTML文档的注释方式完全一样

Ø  需注意的

•    不要把注释放在XML声明之前。

•    注释不能嵌套使用。

CDATA区

Ø  指的是不想被解析程序解析的一片原始数据区,它以“<![CDATA[”开始,以“]]>”结束。

特殊字符: 

特殊字符 替代字符
& &amp;
< &lt;
> &gt;
" &quot;
' &apos;







  处理指令

Ø  用来为处理XML文档的应用程序提供指示信息

Ø  处理指令以“<?”作为开头,以“?>”作为结尾

Ø  XML分析器把处理指令原封不动地传给应用程序,由应用程序来解释这个指令,按照它所提供的信息进行处理

   <?xml-stylesheettype="text/css" href= "book.css"?> 

   JSON(JavaScript ObjectNotation)是一种轻量级的数据交换格式。它基于JavaScript的子集,是一种记录键/值对的字符串。

JSON格式的字符串可以用很多种程序设计语言解析,和XML相比,它的格式更简单,解析起来也更方便

  JSON对象

    对象是一个无序的键值对集合。一个对象以“{”开始,以“}”结束。每个“名称”后跟一个“:”,键值对之间使用“,”分隔。

JSON示例:

{

   "name":"BillGates",

   "street":"FifthAvenue New York 666",

   "age":56,

   "phone":"5551234567"

}

JSON与JavaScript 

字符串形式创建JSON对象:

var txt='{"name":"BillGates","street":'

   +'"Fifth Avenue NewYork 666",'

   +'"age":56,"phone":"5551234567"}';

JavaScript解析JSON对象:

var obj=eval("("+txt+")");

var name=obj.name;

var street=obj.street;

var age=obj.age;

var phone=obj.phone;

JavaScript创建包含JSON数组的对象:

var txt='{"employees":['

   +'{"firstName":"Bill",'

   +'"lastName":"Gates"},'

   +'{"firstName":"George",'

   +'"lastName":"Bush"},'

   +'{"firstName":"Thomas",'

   +'"lastName":"Carter"}]}';

JavaScript解析包含JSON数组的对象:

var obj=eval("("+txt+")");

var employees=obj.employees;

var firstName1=employees[0].firstName;

var lastName1=employees[0].lastName;

var firstName2=employees[1].firstName;

var lastName2=employees[1].lastName;

XmlPull 简介:

XmlPull 是一种解析XML的工具,使用该工具需要导入两个包 kxml2-2.3.0.jar 和 xmlpull_1_1_3_4c.jar 

比较重要的类和接口有以下几个:

XmlPullParserFactory  是一个工厂类,用来产生一个XML解析器对象, XmlPullParserFactory  不能直接使用new 关键字创建对象,要使用

newInstance()方法产出该类得对象, XmlPullParserFactory  通过调用newPullParser()方法 产生一个XML 解器对象.

XmlPullParser是XML解析器,是解析XML文档的核心, XmlPullPaser 是基于流的解析器,在读取XML文档的过程中,如果读到标签的开始或者结束,将返回一个int的值表示所读内容, 这些int值以静态属性的形式,其含义如下表所示:

含义
SATRT_DOCUMENT 读到XML文档的声明
END_DOCUMENT 读到XML文档的结束
START_TAG 读到XML 的开始标签
END_TAG 读到XML的结束标签
TEXT 读到XML的文本返回











XmlPullParser 的核心方法如下:

含义
setInput 设置要读取的文件
getEventType 获得读取内容的类型
nextText 获得节点文本
getName 获得标签名称
next 读取下一个节点
原文地址:https://www.cnblogs.com/aikongmeng/p/3697422.html