XML小总结

1.XML基础

eXtensible Markup Language 可扩展标记语言

XML是一种平台无关的用于携带和传送数据的方法。

 

~~~~xml主要是描述数据是什么,一般没有数据如何呈现的信息,有别于HTML,HTML可以说是xml的一种实现。(注:xhtml才是xml的一种实现)

 

xml文档可以用IE 文本编辑器或者专门的XML编辑器浏览

 

~~~xml不同平台的数据交换,但不适合大批量数据的存储与处理(有别于数据库)

 

多个xml文档的元素之间还可以定义主外键关系

 

xml优点:

~~~通用性,可扩展性,自我描述性

 

xml的用途

~~作为一种通用的数据格式,存储和交换数据;用作配置文件

 

 

2.XML语法

 

XML文档声明

XML处理指令

XML元素(元素 元素属性 元素内容)

 

<?xml version="1.0"encoding="utf-8" ?> <!--xml文档声明-->

<?xml-stylesheettype="text/xsl" href="mystyle.xsl" ?><!--xml处理指令 可选-->

<stu-roster> <!--xml元素-->

 <student>

   <id>A001</id>

   <name>dingdang</name>

 </student>

 <student>

    <id>A009</id>

    <name>kitty</name>

 <student>

</stu-roster>

 

~~~XML文档声明 必须包含version属性,其他属性如下 顺序不能打乱。

<?xml version="1.0"encoding="utf-8" standalone="yes" ?>

 

XML处理指令

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

XML解析器会把处理指令原封不动的传给处理程序,由处理应用程序按照指令的提示信息进行处理

 

使用格式显示XML文档

用CSS定义外观样式或者用XSL定义外观 Xml Stylesheet Language 后者功能更强大

 

XML元素: 起始标识 结束标记 属性 内容

<title>雾都孤儿</title>

 

XML所有元素都必须有结束标记。

 

标签名区分大小写,开始标签和结束标签要匹配

 

元素内容:

元素包含子元素

元素直接包含内容

元素没有任何内容  空标记

 

根元素:没有嵌套在其他元素内的元素最高层元素

文档内所有元素都是根元素的子孙元素。

根元素要有且仅有一个

 

元素内容

CDATA Character DATA 字符数据

指定不想被解析程序解析的一片原始数据区。

 

PCDATA Parsed Character DATA 由XML解析器解析的字符数据

 

CDATA例子:

<![CDATA[...anything can gohere...]]>

CDATA区内不能出现字符"]]>"

可以在CDATA区内嵌入其他语言的代码,如javascript等。

 

PCDATA区 PCDATA 需要被XML解析器解析的字符数据

直接写在起始标记和结束标记之间的内容。

 

字符转义

有些特殊字符不能出现在PCDATA区内,需要用字符实体替代,如 < &等

&lt <

&gt >

&amp & ampersand

&apo ' apostrophe

&quot "

 

XML注释 同HTML <!-- comment-->

 

xml文档声明必须是第一行代码,注释不能放在XML文档声明之前。

 

3.XML DOM

 

DOM 是所有浏览器都支持的一种标准,它定义了一组与浏览器和编程语言都无关的标准对象,利用这些对象模型可以方便地操作XML文档

 

DOM是最为流行的XML文档访问方式。

 

DOM的优缺点:一般使用DOM时,把所有XML文档信息都存放在内存,遍历容易,但是内存占用高,解析较慢

 

DOM树形结构 XML文档的每个成分都看作是一个节点。

 

节点类型:

Document 根节点 9

DocumentType  DTD引用的对象的表现形式 10

Element 元素节点 1

Attr 属性节点 2

Text 文本节点 3

CDataSection 字符数据节点 4

Comment 注释节点 8

 

DOM树形结构中,节点间的关系:parentchild sibling

 

4.javascript解析XML文档

XML DOM的属性和方法

javascript操纵XML DOM

 

现在大多数的浏览器都支持XML

 

IE和Mozilla的浏览器都通过javascript提供对XML的支持

 

javascript处理XML文档的基础是DOM树形结构

在javascript中有关于DOM的API,在这些API中定义了DOM的属性和方法。

利用javascript中的DOM API可以实现对XML文档的访问、创建、删除,修改等操作。

用javascript处理XML文档是ajax技术的核心

 

javascript处理XML文档的工作原理:

1.创建XML DOM对象

2.载入XML文档的内容

3.调用javascript关于XML DOM的属性和方法进行处理。

 

创建XML DOM对象 IE和非IE浏览器创建方法不同

IE用ActiveX插件中的 MSXML库实现对XML的支持

var xmlDom=new ActiveXObject(aVersion);

aVersion的取值可以是Microsoft.XMLDOM

MSXML2.DOMDocument

MSXML2.DOMDocument3.0

MSXML2.DOMDocument4.0

MSXML2.DOMDocument5.0

MSXML2.DOMDocument6.0

 

如:

var xmlDom=newActiveXObject("MSXML2.DOMDocument6.0");

 

IE支持2中载入XML文档的方法:load()和loadXML()

var xmlDoc=xmlDom.load(url); //默认采用异步的方式载入XML文档数据

 

//同步方式载入XML文档数据

xmlDom.async=false;

var xmlDoc=xmlDom.load(url);

 

var xmlDoc=xmlDom.loadXML(sXml); //sXML为XML格式的字符串

 

 

Firefox下获得XML DOM对象

在Firefox浏览器中需要调用document.inplementation对象的createDocument()方法创建一个XML DOM对象。

varxmlDom=document.inplementation.createDocument("","",null);

 

Firefox浏览器只支持load()方法载入XML文档。

var xmlDoc=xmlDOM.load("test.xml");

 

获取XML DOM对象--跨浏览器兼容的方法,使用zXML库实现跨浏览器对XML的支持。

 

var xmlDom=zXMLDom.createDocument();

 

zXML支持2中方法载入XML文档,同IE.xmlDom.load(),xmlDom.loadXML();

 

 

>>>>操作XML文档<<<<<

节点的属性:

nodeType

nodeName

nodeValue

attributes 元素节点的属性

 

节点导航

firstChild

lastChild

childNodes

previousSibling 前一个兄弟节点

nextSibling 下一个兄弟节点

 

documentElement 指向XML文档的根节点,只有Document对象有该属性。Document.documentElement

owerDocument  指向这个节点所属文档。

 

XML DOM的方法:

创建节点:

createElement(tagName)  创建标签名为tagName的元素。

createTexNode(text)  创建文本节点

createAttribute(attrname)  创建一个属性节点 属性未赋值

 

createDocumentFragment() 创建文档碎片节点

createProcessingInstruction(target,data);

 

读取节点:

getElementByTagName(tagname)  //返回标签名为tagname的nodelist

getAttribute(attrname)  //获取当前节点中 属性名为attrname的属性值

 

setAttribute(attrname,attrvalue) 设置属性节点的值

setAttributeNode(attrNode) 某节点属性节点列表的尾部添加一个属性节点。

 

添加删除节点的方法:

appendChild(node);

removeChild(node)

replaceChild(newNode,oldNode)

insertBefore(newNode,oldNode);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值