XML笔记

1.XML全称eXtensible Markup Language,可扩展的标记语言。

2.XML是用存储数据、传输数据的,HTML是用来显示数据的。

3.XML没有预定义标签,需要自行定义标签。

4.XML和HTML是为了不同目的而设计的,XML为传输、存储数据而设计,其焦点是数据内容;HTML被设计用来显示数据的,其焦点是数据的外观(结构)。

5.XML必须有根元素,必须正确嵌套,区分大小写,有开有闭。

6.XML一些字符具有特殊的意义,如果把“<”放在XML元素中,解析器就会认为它是新元素的开始,这样就会产生XML错误,为避免这个错误,应用以个实体引用来代替“<”字符。

例:<message>if salary < 1000 then</message>

     <message>if salary &lt; 1000 then</message>

7.XML属性的问题:属性无法包含多重的值,元素可以;属性无法描述树形结构;属性不易扩展;属性难以阅读维护;

    元数据(有关数据的数据)应存储为属性,数据本身应存储为元素。

8.PHP处理XML文件函数simplexml_load_file()从文件读取XMLObject对象;simple_load_string()从字符串读取XMLObject对象;

    标准化XML数据$xml->asXML(),写入参数中文件$xml->asXML('memlist.xml')


9.JS解析xml文件

例:php文件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery/style/js/jquery-1.4.2.js"></script>
<title>XML parse</title>

<script type="text/javascript">
$(function()
{
    try
    {
        xmlDOM=new ActiveXObject('Microsoft.XMLDOM');   
    }
    catch(e)
    {
        try
        {
            xmlDOM=document.implementation.createDocument("","",null);
        }
        catch(e)
        {
            alert(e.message);
            return false;
        }
    }   
   
    xmlDOM.async=false;
    xmlDOM.load('memlist.xml');
    $('#to').html(xmlDOM.getElementsByTagName('name')[1].childNodes[0].nodeValue);
    $('#from').html(xmlDOM.getElementsByTagName('gender')[1].childNodes[0].nodeValue);
    $('#message').html(xmlDOM.getElementsByTagName('age')[1].childNodes[0].nodeValue);
})

</script>

</head>
<body>

<h2>XML has be parsed by Javascript</h2>
<p><b>To:</b> <span id="to"></span><br />
<b>From:</b> <span id="from"></span><br />
<b>Message:</b> <span id="message"></span></p>
</body>
</html>

xml文件memlist.xml

<?xml version="1.0" encoding="utf-8"?>
<family>
    <person>
        <name>Tom</name>
        <gender>male</gender>
        <age>99</age>
    </person>
    <person>
        <name>Jerry</name>
        <gender>male</gender>
        <age>5</age>
    </person>
    <person>
        <name>Lucy</name>
        <gender>female</gender>
        <age>21</age>
    </person>
</family>

10.JS中数组操作取得key,value

例:

    var b=new Array('a','b','c','d');   
    for(var i in b)
    {
        alert(b[i]);
    }

posted on 2011-01-24 10:03  十二  阅读(172)  评论(0编辑  收藏  举报

导航