XML初级了解

主要是了解xml是做什么的以及和html的区别。了解xml常见语法

介绍

XML 被设计用来传输和存储数据。
HTML 被设计用来显示数据。
XHTML是更严格更纯净的 HTML 版本。

xml文件列子:https://www.runoob.com/try/xml/cd_catalog.xml

1.语法

1.XML 必须包含根元素:有一个标签是所有标签的父级
2.XML 声明文件的可选部分,如果存在需要放在文档的第一行
<?xml version="1.0" encoding="utf-8"?>
3.所有的 XML 元素都必须有一个关闭标签
4.大小写敏感
<Message>这是错误的</message>
5.必须正确嵌套
6.属性值必须加引号
7.空格会被保留
8.实体引用
在这里插入图片描述

2.元素及属性

(包括)开始标签直到(包括)结束标签的部分。即标签即标签内的内容所有内容。

  1. 创建元素的命名规则:
 1. 名称可以包含字母、数字以及其他的字符
 2. 名称不能以数字或者标点符号开始
 3. 名称不能以字母 xml(或者 XML、Xml 等等)开始
 4. 名称不能包含空格
 5. 避免 "-" 字符。避免 "." 字符。避免 ":" 字符
  1. xml也可设置属性:
<note date="10/01/2008">
	<node id="502">
		<to>Jani</to>
		<from>Tove</from>
		<heading>Re: Reminder</heading>
		<body>I will not</body>
	</node>
</note >

属性难以阅读和维护。请尽量使用元素来描述数据。

<note>
	<date>
		<day>10</day>
		<month>01</month>
		<year>2008</year>
	</date>
	<to>Tove</to>
	<from>Jani</from>
	<heading>Reminder</heading>
	<body>Don't forget me this weekend!</body>	
</note>

3. 获取XML数据

  1. xml文件,使用http请求
<html>
<body>
	<h1>W3Schools Internal Note</h1>
	<div>
		<b>To:</b> <span id="to"></span><br />
		<b>From:</b> <span id="from"></span><br />
		<b>Message:</b> <span id="message"></span>
	</div>
	
	<script>
		if (window.XMLHttpRequest){
			xmlhttp=new XMLHttpRequest();
		}else{// code for IE6, IE5。低版本ie请求
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		};
		xmlhttp.open("GET","note.xml",false);
		xmlhttp.send();
		xmlDoc=xmlhttp.responseXML;
		
		document.getElementById("to").innerHTML=xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
		document.getElementById("from").innerHTML=xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
		document.getElementById("message").innerHTML=xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
	</script>
</body>
</html>
  1. xml字符串,使用解析器
    Internet Explorer 使用 loadXML() 方法来解析 XML 字符串,而其他浏览器使用 DOMParser 对象。
<script>
	//xml格式字符串
	txt="<note>";
	txt=txt+"<to>Tove</to>";
	txt=txt+"<from>Jani</from>";
	txt=txt+"<heading>Reminder</heading>";
	txt=txt+"<body>Don't forget me this weekend!</body>";
	txt=txt+"</note>";
	
	if (window.DOMParser){
		parser=new DOMParser();
		xmlDoc=parser.parseFromString(txt,"text/xml");
	}else {// Internet Explorer{
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		xmlDoc.loadXML(txt);
	}
	
	document.getElementById("to").innerHTML=xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
	document.getElementById("from").innerHTML=xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
	document.getElementById("message").innerHTML=xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
</script>

4.XML命名空间

XML 命名空间提供避免元素命名冲突的方法。

  1. 命名空间必须被定义,在元素的开始标签的 xmlns 属性中定义的。规则:xmlns:前缀="URI"
  2. 所有相同前缀的子元素都会与同一个命名空间相关联。
  3. 可在根元素定义。<root xmlns:h="http://www.w3.org/TR/html4/" xmlns:f="http://www.w3cschool.cc/furniture">
<root>

//名称前缀可避免命名冲突  h:
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>

//名称前缀可避免命名冲突  f:
<f:table xmlns:f="http://www.w3cschool.cc/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>

</root>

5.XML也有可以使用css样式,常见使用XSLT

通过使用 XSLT,可以把 XML 文档转换成 HTML 格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值