xml文件是啥(xml文件如何完整打开)


概念

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




免责声明
    以上文章转载自互联网,文章内容仅供参考,不构成建议,也不代表百科学社赞同其观点。如有侵权请联系755934052@qq.com,提供原文链接地址以及资料原创证明,本站将会立即删除

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请通知我们,一经查实,本站将立刻删除。