领先的免费Web技术教程,涵盖HTML到ASP.NET

网站首页 > 知识剖析 正文

XML基础教程 xml基础教程答案清华大学出版社

nixiaole 2024-11-08 17:10:18 知识剖析 18 ℃

概念

XML名为可扩展标记语言,与HTML结构类似。

用途

用于结构化存储、传输数据。

语法

例子:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resource PUBLIC "namespace" "namespace.dtd">
<resource xmlns="https://www.serendipity.com">
  <table id="001">
    <td>apple</td>
    <td>pear</td>
  </table>
</resource>
  • 需要xml声明
<?xml version="1.0" encoding="UTF-8"?>
  • 标签需要对应,有开始标签,也需要有结束标签
  • 标签大小写敏感
  • 必须要有根元素
  • 特殊字符
< == <
> == >
& == &
' == &pos;
" == "

属性

属性用来描述元素的额外信息,而不同于描述数据信息,数据信息建议使用标签描述。

DTD、Schema

XML DTD和 XML Schema是用于验证、约束XML的,XML Schema是XML DTD的替代方案。

<!DOCTYPE resource
[
<!ELEMENT resource (table)>
<!ELEMENT table (td)>
<!ELEMENT td (#PCDATA)>
]>

XSLT样式表

XSLT用于替换XML数据并转化为另一种格式的XML或者HTML。Linux和Mac上可以使用xsltproc工具执行转化,windows可以使用XMLSpy软件。

-bash-3.2$ xsltproc namespace.xsl namespace.xml
<html><body>
  
    apple
    pear
  
</body></html>

XML Javascript

用于提取服务器端的XML文件并解析成XML DOM对象,如下示例:

<!DOCTYPE html>
<html>
<body>
<h1>namespace</h1>
<div id="main">
</div>
 
<script>
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","namespace.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
 
document.getElementById("main").innerHTML=
xmlDoc.getElementsByTagName("td")[0].childNodes[0].nodeValue;
</script>
 
</body>
</html>

namespace

用来避免元素命名冲突,当相同元素有不同的结构时,可以区分开来,。比如示例table元素:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resource PUBLIC "namespace" "namespace.dtd">
<resource xmlns="https://www.serendipity.com" xmlns:d="https://www.serendipity01.com">
  <table id="001">
    <td>apple</td>
    <td>pear</td>
  </table>
  <d:table>
    <d:name>desk</d:name>
    <d:width>150cm</d:width>
    <d:height>80cm</d:height>
  </d:table>
</resource>

XSLT提取原XML文件到新的XML文件时,需要指定原XML的命令空间,否则XSLT将提取不到节点的数据。

CDATA

使用CDATA包含的数据不被XML解析器解析。

相关技术

  • XSLT
  • XPath
  • XML DTD
  • XML Schema
  • SOAP
  • XQuery
  • RSS
  • SVG
  • XML DOM


@真知新坐标

Tags:

最近发表
标签列表