加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML

发布时间:2020-12-16 00:39:38 所属栏目:百科 来源:网络整理
导读:XML的概念 XML(eXtensible Markup Language) 可扩展标记语言 XML文档是结构化 的,其结构化主要体现在以下两个方面: 每一部分都和其他元素有关联,这种关联就形成了树形结构. 标记本身的含义与它 描述的信息相分离. XML的起源与作用 ? XML和HTML一样,都衍生于S

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 读取下一个节点

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读