XML学习笔记
来源:互联网 发布:stc12单片机 编辑:程序博客网 时间:2024/05/21 13:58
XML被设计来结构化、传输和存储数据,其焦点是数据的内容
HTML被设计来显示数据的,其焦点是数据的外观
即XML旨在传输信息,HTML旨在显示信息
XML没有预定义的标签
XML允许作者定义自己的标签和自己的文档结点
XML的声明
<?xml version="1.0" encoding="UTF-8"?>
XML自己定义的结点标签表示方法:
<root> <child> <subchild>...</subchild> </child></root>
XML标签对大小写敏感,<root>
和<Root>
是不同的
XML的属性值必须加引号
XML的内容中,特定的符号须使用实体引用
<
less than > >
greater than & &
ampersand ' '
apostrophe " "
quotation markXML连续的空格会被裁剪为一个
XML应尽量避免使用属性,如果信息感觉起来像数据,就该使用元素结点表示
如下:
把数据放在属性里:
<note date="2017/04/27">...</note>
把数据用子结点表示:
<note> <date>2017/04/27<date></note>
元素结点再加以扩展:
<note> <date> <day>27</day> <month>04</month> <year>2017</2017> </date></note>
可用属性来标志不同的结点:
<note id="001">...</note><note id="002">...</note><!--id是一个属性标识符,并不是数据的组成部分-->
XMLHttpRequest
XMLHttpRequest对象用于后台与服务器交换数据
有以下作用:
- 在不重新加载页面的情况下更新网页
- 在页面已加载后,从服务器请求数据
- 在页面已加载后,从服务器接收数据
- 在后台向服务器发送数据
创建XMLHttpRequest对象
xmlhttp = new XMLHttpRequest();//旧版的IE浏览器(IE5和IE6)使用ActiveX对象//xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
把XML文档解析到XML DOM对象中
(浏览器都内建有XML解析器)
解析XML文档(注意:这是向服务器发出请求,必须打开服务器运行)
xmlhttp = new XMLHttpRequest();xmlhttp.open("GET","books.xml",false);smlhttp.send();xmlDoc=xmlhttp.responseXML;
解析XML字符串
txt="<book><name>mybook</name><author>me</author><price>100</price></book>"parser = new DOMParser();//parserFromString(text,contentType)XmlDoc = parser.parserFromString(txt,"text/xml")//IE浏览器用的是loadXML()
把XML文档解析到XML DOM的实例:
books.xml的内容
<?xml version="1.0" encoding="UTF-8"?><book> <name>mybook</name> <author>Edward</author> <price>100</price></book>
XML解析成XML DOM,再由javascript操作:
<script> $(document).ready(function(){ xmlhttp = new XMLHttpRequest(); xmlhttp.open("GET","books.xml",false); xmlhttp.send(); xmlDoc=xmlhttp.responseXML; document.getElementById("bookname").innerHTML=xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue; document.getElementById("bookauthor").innerHTML=xmlDoc.getElementsByTagName("author")[0].childNodes[0].nodeValue; document.getElementById("bookprice").innerHTML=xmlDoc.getElementsByTagName("price")[0].childNodes[0].nodeValue; }); </script></head><body> BookName:<span id="bookname"></span><br/> BookAuthor:<span id="bookauthor"></span><br/> BookPrice:<span id="bookprice"></span><br/></body>
结果:
创建元素结点 xmlDoc.createElement()
创建文本结点xmlDoc.createTextNode()
设置结点属性setAttribute(“key”,”value”)
向某一结点追加一个子结点appendChild()
例如为<book>
增加一个新的子结点<ibsn>isbn-007</isbn>
elementNode=xmlDoc.createElement("isbn");//新的元素结点textNode=xmlDoc.createTextNode("isbn-007");//新的文本节点elementNode.appendChild(textNode);//将文本结点绑在新的元素结点下面xmlDoc.getElementsByTagName("book")[0].appendChild(elementNode);//为<book>结点追加新的子元素结点
0 0
- xml学习笔记 1. XML
- XML Base学习笔记
- XML学习笔记
- XML学习笔记01
- xml学习笔记---1
- xml学习笔记---2
- XML学习笔记
- XML学习笔记(三)
- XML学习笔记
- xml学习笔记一
- XML学习笔记
- XML schema学习笔记
- XML学习笔记
- XML Schema学习笔记
- XML语法---学习笔记
- XML元素---学习笔记
- XML属性---学习笔记
- xml学习笔记
- 常用报表开发工具介绍
- Unity&网络:利用UDP实现动态监测局域网在线用户及掉线事件。
- 具体的设计模式(三):行为型模式
- SQLService sql常见问题总结
- Reveal2升级Reveal8不能使用问题
- XML学习笔记
- [FAQ04794]如何修改默认数据连接开关
- C++ 命名空间namespace
- C二级辅导-亲和数对
- Tomcat启动成功,项目404
- ArrayList在执行remove方法时遇到的问题
- MySQL Workbench:Error Code: 2013. Lost connection to MySQL server during query解决办法
- REST API 安全设计
- 如何直观的解释back propagation算法(一)