XML是储存和通过因特网传输结构化数据的正规化,请看上边包车型地铁 XML 文书档案片段

不多说,上代码

XML是储存和通过因特网传输结构化数据的正统
1:可扩展标记语言
2:被规划用来传输和存款和储蓄数据
3:只要会html XML就好学2者相同有例外
4:3个是用在格式化展现数据 一个是用来多少交互的
5:html一个符号语言预约义标签的 xml则是贰个可扩张的自定义标记语言

DOM 解析器是依据树的解析器。

那段代码意思是从text2.xml文件中读取内容然后在html代码中以表格的花样显得

JS中开创1个xml //命名空间 节点 doctype

eg: var xml=document.implementation.createDocument(“”,”root”,null)
alert(xml.documentElement.tagName)//root
var child= xml.createElement(“child“) //类似dom 的开创追加贰个节点
xml.documentElement.appendChild(child)

请看下边包车型大巴 XML 文书档案片段:

对此自身来说,关键点是从其它多少个文书中读出内容以文件的时候格局浮以后页面,所以自身再把重要代码写出來
 var table= “<tr><th>阿特ist<th>Title</th>”;  var
x =xmlDoc.getElementByTagName(“CD”); for(i=0;i<x.length;i++){table
+=”<tr><td>”+x[i].getElementByTagName(“ARTIST”)[0].childNodes[0].nodeValue+”</td><td>”+x[i].getElementByTagName(“TITLE”)[0].childNodes[0].nodeValue+”</td></tr>”;}
                      document.getElementById(“demo”).innerHTML = table;

创造外部文件

<? version=”1.0″ encoded=”utf-8″?>
表明编码 版本
<root>
<name money=”much”>曹士远</name>
<age>23</age>
</root>
root是2个根标签节点 类似于html 不过必须是双标签区分轻重缓急写 可写属性

<?xml version=”1.0″ encoding=”ISO-8859-1″?>
<from>Jani</from>

那是运作结果

XML 语法规则

XML DOM 把地方的 XML 视为三个树形结构:

那是text2.xml里面包车型大巴剧情,跟html好像吧

XML 文书档案必须有根成分

类似上边最外层的root

  • Level 1: XML 文档

  • Level 2: 根元素: <from>

  • Level 3: 文本成分: “Jani”

xml的特点

XML 声明

先是行加上<?xml version=”1.0″ encoding=”utf-8″?>
小心:全部的 XML 成分都必须有二个关闭标签,XML 标签对大小写敏感,XML
必须正确嵌套,XML 属性值必须加引号,在 XML 中,空格会被保存

XML文件:

xml指可扩充标记语言;

实体引用

借使您把字符 “<” 放在 XML
成分中,会发生错误,那是因为解析器会把它当作新成分的启幕。
error eg:<message>if salary < 1000 then</message>
eg:<message>if salary < 1000 then</message>
< < less than
> > greater than
& & ampersand
‘ ‘ apostrophe
” ” quotation mark

<?xml version=”1.0″ encoding=”utf-8″?>
<note>
    <to>老爸</to>
    <from>儿子</from>
    <heading>问候</heading>
    <body>近来肉体可以吗,天气变冷,记得多穿衣裳</body>

xml被规划用来传输和储存数据;

注释

    <to>老妈</to>
    <from>儿子</from>
    <heading>问候</heading>
    <body>最近人体好呢,气候变冷,记得多穿衣饰</body>
</note>

xml标签没有被预订义,供给活动定义标签;

XML 以 LF 存储换行

在 Windows
应用程序中,换行平常以一对字符来存款和储蓄:回车符(C本田CR-V)和换行符(LF)。
在 Unix 和 Mac OSX 中,使用 LF 来储存新行。
在旧的 Mac 系统中,使用 C奥迪Q5 来储存新行。
XML 以 LF 存款和储蓄换行。
大旨语法和HTML类似详情请查看http://www.runoob.com/xml/xml-applications.html菜鸟教程

PHP文件:

xml被设计为保有自己描述性;

CDATA这

XML 文书档案中的全部文件均会被解析器解析。
只有 CDATA 区段中的文本会被解析器忽略。
<script>
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
{
return 1;
}
else
{
return 0;
}
}
]]>
</script>

在上头的实例中,解析器会忽略 CDATA 部分中的全数内容。
例如 JavaScript 代码,包罗大批量 “<” 或 “&”
字符。为了制止不当,能够将脚本代码定义为 CDATA。

<?php
$xmldoc = new DOMDocument();

xml是w3c的推荐标准;

xml服务器

$xmldoc->load(“note.xml”);

xml简化数据共享和数量传输;

通过 ASP 生成 XML

XML 可在不设置任何 XML 软件的情景下在劳动器端生成。
如需从服务器生成 XML 响应 – 只需不难地编写以下代码并在 Web
服务器上把它保存为五个 ASP 文件:
<%
response.ContentType=”text/xml”
response.Write(“<?xml version=’1.0′ encoding=’ISO-8859-1′?>”)
response.Write(“<note>”)
response.Write(“<from>Jani</from>”)
response.Write(“<to>Tove</to>”)
response.Write(“<message>Remember me this
weekend</message>”)
response.Write(“</note>”)
%>

$file = $xmldoc->documentElement;

<note>

通过 PHP 生成 XML

如需使用 PHP 从服务器上生成 XML 响应,请使用上面包车型大巴代码:
<?php
header(“Content-type: text/xml”);
echo “<?xml version=’1.0′ encoding=’ISO-8859-1′?>”;
echo “<note>”;
echo “<from>Jani</from>”;
echo “<to>Tove</to>”;
echo “<message>Remember me this weekend</message>”;
echo “</note>”;
?>
请留意,响应底部的剧情类型必须安装为 “text/xml”。

foreach($file->childNodes as $item){
if ($item->nodeName != “#text”){
    print $item->nodeName.”:”.$item->nodeValue.”<br>”;
    }
}

<to>nanlan</to>

从数据库生成 XML

XML 可在不安装别的 XML 软件的情形下从数据库生成。
如需从劳动器生成 XML 数据库响应,只需不难地编写以下代码,并把它在 Web
服务器上保存为 ASP 文件:
<%
response.ContentType = “text/xml”
set conn=Server.CreateObject(“ADODB.Connection”)
conn.provider=”Microsoft.Jet.OLEDB.4.0;”
conn.open server.mappath(“/db/database.mdb”)

sql=”select fname,lname from tblGuestBook”
set rs=Conn.Execute(sql)

response.write(“<?xml version=’1.0′ encoding=’ISO-8859-1′?>”)
response.write(“<guestbook>”)
while (not rs.EOF)
response.write(“<guest>”)
response.write(“<fname>” & rs(“fname”) & “</fname>”)
response.write(“<lname>” & rs(“lname”) & “</lname>”)
response.write(“</guest>”)
rs.MoveNext()
wend

rs.close()
conn.close()
response.write(“</guestbook>”)
%>

浅析原理:

<from>xiaoju</from>

实际上依然其一重点XML DOM 高级(前端吗)

    1.新建一个DOMDocument解析器

<heading>ajax与xml交互</heading>

下边包车型大巴实例中采纳的 XML 文件:books.xml

    2.加载xml文件

<body>xml用来囤积和传输数据</body>

上边包车型地铁实例检索第贰个 <title> 成分的文本值:

实例
txt=xmlDoc.getElementsByTagName(“title”)[0].childNodes[0].nodeValue;
上边包车型地铁实例检索第①个 <title> 成分的 “lang” 属性的文本值:
实例
txt=xmlDoc.getElementsByTagName(“title”)[0].getAttribute(“lang”);
filename=tryxml_dom_getattribute)

    3.将xml文件转换来dom树

</note>(xml供给必须有个父成分,那段代码中是note);

变更成分的值

上面的实例改变第二个 <title> 成分的文本值:
实例
x=xmlDoc.getElementsByTagName(“title”)[0].childNodes[0];
x.nodeValue=”Easy Cooking”;

    4.遍历dom树的因素,过滤空文本元素,展现须要的剧情。

xml对大小写敏感;

始建新的属性

XML DOM 的 setAttribute()
方法可用于转移现有的属性值,或创设二个新的天性。
上面包车型客车实例创造了3个新的习性(edition=”first”),然后把它添加到每2个<book> 元素中:
实例
x=xmlDoc.getElementsByTagName(“book”);

for(i=0;i<x.length;i++)
{
x[i].setAttribute(“edition”,”first”);
}

 

xml属性与元素

创制成分

XML DOM 的 createElement() 方法创造一个新的成分节点。
XML DOM 的 createTextNode() 方法创设三个新的公文节点。
XML DOM 的 appendChild()
方法向节点添加子节点(在终极二个子节点之后)。
如需创设带有文本内容的新因素,供给同时创立元一个新的因九秋点和2个新的文书节点,然后把她增添到存活的节点。
上边的实例创设了3个新的因素(<edition>),带有如下文本:First,然后把它添加到第二个<book> 元素:
实例
newel=xmlDoc.createElement(“edition”);
newtext=xmlDoc.createTextNode(“First”);
newel.appendChild(newtext);

x=xmlDoc.getElementsByTagName(“book”);
x[0].appendChild(newel);

<person sex=”female”>

除去成分

上边包车型客车实例删除第一个 <book> 成分的率先个节点:
实例
x=xmlDoc.getElementsByTagName(“book”)[0];
x.removeChild(x.childNodes[0])

<name>xiaoju</name>

XML 数据岛

它是怎么?XML 数据岛是停放到 HTML 页面中的 XML 数据。
缘何要制止使用它?XML 数据岛只在 Internet Explorer
浏览器中央银立见成效。
用什么样代替它?你应该在 HTML 中动用 JavaScript 和 XML DOM
来分析并呈现 XML。
如需更加多关于 JavaScript 和 XML DOM 的音信,请访问 XML DOM
教程

<age>21</age>

XML 数据岛实例

本例使用 XML 文书档案”cd_catalog.xml“。
把 XML 文书档案绑定到 HTML 文档中的三个 <xml> 标签。id
属性定义数据岛的标识符,而 src 属性指向 XML 文件:
实例
本实例只适用于 IE 浏览器
<html><body><xml id=”cdcat”
src=”cd_catalog.xml”></xml><table border=”1″
datasrc=”#cdcat”><tr><td><span
datafld=”ARTIST”></span></td><td><span
datafld=”TITLE”></span></td></tr></table></body></html>

</person>(那里的sex是性质,如若换一种格局)

实际实例:

<person>

XML 气象服务

XML 国家风貌服务案例,来自 NOAA(National Oceanic and Atmospheric
Administration):
<?xml version=”1.0″ encoding=”ISO-8859-1″ ?>
<current_observation>

<credit>NOAA’s National Weather Service</credit>
<credit_URL>http://weather.gov/</credit_URL>

<image>
<url>http://weather.govxml\_logo.gif</url>
<title>NOAA’s National Weather Service</title>
<link>http://weather.gov</link>
</image>

<location>New York/John F. Kennedy Intl Airport,
NY</location>
<station_id>KJFK</station_id>
<latitude>40.66</latitude>
<longitude>-73.78</longitude>
<observation_time_rfc822>Mon, 11 Feb 2008 06:51:00 -0500 EST
</observation_time_rfc822>

<weather>A Few Clouds</weather>
<temp_f>11</temp_f>
<temp_c>-12</temp_c>
<relative_humidity>36</relative_humidity>
<wind_dir>West</wind_dir>
<wind_degrees>280</wind_degrees>
<wind_mph>18.4</wind_mph>
<wind_gust_mph>29</wind_gust_mph>
<pressure_mb>1023.6</pressure_mb>
<pressure_in>30.23</pressure_in>
<dewpoint_f>-11</dewpoint_f>
<dewpoint_c>-24</dewpoint_c>
<windchill_f>-7</windchill_f>
<windchill_c>-22</windchill_c>
<visibility_mi>10.00</visibility_mi>

<icon_url_base>http://weather.gov/weathericons/</icon_url_base>
<icon_url_name>nfew.jpg</icon_url_name>
<disclaimer_url>http://weather.gov/disclaimer.html</disclaimer_url>
<copyright_url>http://weather.gov/disclaimer.html</copyright_url>

</current_observation>

<sex>female</sex>

<name>xiaoju</name>

<age>21</age>

</person>(那里的sex是因素,它们的结果其实是相同的,在html个中用属性,在xml个中用成分,那样的做法比较好);

xml javascript(一般是经过ajax来兑现,开篇的首先个实例正是如此做的);

绿蓝标注的地方正是首要

xml DOM能够通过DOM树来访问。能够修改或删除他们的剧情,当然那与XML
DOM相关,又是其余的内容;

XML命名空间,因为在xml其中名称是由开发者定义的,当五个例外的文书档案使用同一的因素名就会发出命名争辨(消除拌饭,使用前缀幸免命名争辩)

通过php生成XML

xml
DOM相关操作,主倘诺获得成分someone.childNodes.nodeValue、获取属性someone.childNodes.getAttribute、创建成分createElement、创制贰个新的文末节点createTextNode等

相关文章