XML(Extensible Markup Language 可扩展的标记语言)简述及读取

来源:互联网 发布:树洞表白墙源码 编辑:程序博客网 时间:2024/05/21 06:43


1)可拓展性标志语言
2)XML用于描述数据
3)XML用途广泛(传递数据的桥梁,无论哪种编程语言)
eg:  <Student>//根节点
           <ID>1002</ID>
           <Name>张靓</Name>
           <Age>20</Age>
           <!-->
           <ID>1001</ID>
           <Name>周杰</Name>
           <Age>22</Age>
       </Student>
特点:
1)描述的内容一目了然;
2)节点可自由扩展;(可增加节点)
3)节点成对出现;
4)节点区分大小写。

一、基本语法
1、基本语法
2、解析
3、DTD/SCHEMA/XSTL等,了解即可。


XML的本质:一种数据的组织方式!
XML的优势:
1、可扩展的标记。
2、元标记语言。可以定义其它标记语言。XML->RML。。


为啥要XML
设计与特定邻域有关的标记语言;
自描述数据;
应用间交换数据;
结构化和集成的数据。
<?xml version="1.0" encoding="utf-8" ? standalong="no">//单个文件时要加上。非必须!
<resume> //简历(根元素)
   <prename endAge="20">朱重八</prename>
   <name startAge="20">朱元璋</name>
   <dynasty>明朝</dynasty>
   <gender>男</gender>
   <prejob>要饭</prejob>
   <prejob>和尚</prejob>
   <job>皇帝</job>
   <wife/>
   <sons>
     &lt;朱标&gt; &lt;朱糠&gt;
   </sons>
   <daughter>
       <![CDATA[
              <珠珠>,<...>这里的一切数据被当做普通数据处理(字符串)
       ]]>
   </daughter>
</resume>
<!-- 
1、只能有一个根元素!
2、区分大小写!
3、属性一般都用双引号括起来!
4、标记一定要配套!
5、节点可自由扩展;(可增加节点)
6、当一对标记之间没有任何文本内容时,可以不写结束标记。而在开始标记的最后惯以斜杠
“/”来确认。这样的标记称为“空标记”。如:<HR/>
7、属性的所有赋值都被看做字符串。
8、注释文本中不能出现字符串“--”。
-->


XML 读取本地文件,由于谷歌浏览器的安全机制问题所以只能用火狐浏览器测试。

function getXmlDoc() {
  var xmlDoc;
  try   //Internet Explorer  
  {  
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");  
    xmlDoc.async=false;  
    xmlDoc.load("questions.xml");  //要读取的xml文件
  }  
  catch(e)  
  {  
    try   //Firefox, Mozilla, Opera, etc.  
    {  
       xmlDoc=document.implementation.createDocument("","",null);  
       xmlDoc.async=false;  
       xmlDoc.load("questions.xml");  //要读取的xml文件
    }  
    catch(e)  
    {  
       try   //Google Chrome  
       {  
           var xmlhttp = new window.XMLHttpRequest();  
           xmlhttp.open("GET","questions.xml",false);  //要读取的xml文件
           xmlhttp.send(null);  
           xmlDoc = xmlhttp.responseXML.documentElement;  
       }  
       catch(e)  
       {  
           error=e.message;  
       }  
    }  
  }  
   return xmlDoc;



 //通过方法获取对象
  var xmlDoc = getXmlDoc();

0 0
原创粉丝点击