一:简介
eXtensible Markup Language,用于传输和存储数据。
XML文档第一行以XML声明开始(并非是一种标签,用来传输文档的元数据)。
<?xml version="1.0" encoding="UTF-8" ?>
<!--version:版本,encoding:编码-->
二:为什么xml在网页中显示的是源代码?
因为XML标签没有被预定义,你需要自行定义标签,
所以浏览器无法确定像<table>这样一个标签究竟描述一个HTML表格 还是一个桌子。
但可以用css来显示XML,(其中的href等于的是css文件路径)
<?XML-stylesheet type="text/css" href="xx.css"?>
三:为什么HTML和XML没有相互取代?
各自作用不同:XML主要用来描述数据,HTML主要用来显示数据。
XML有了它自己的用途:
- 把数据从HTML分离
- XML简化数据共享,简化数据传输,简化平台变革
- XML使你的数据更有用
是有过XML应用的方式定义的 HTML>>>XHTML。
四:写XML需要注意那些地方?
- XML是树结构,所以XML文档必须包含根元素,该元素是所有其他元素的父元素,所有的元素都可以有子元素。
- 所有的XML元素都必须有个关闭标签。
- 标签对大小写敏感,必须使用相同的大小写来编写标签
五:什么情况下用属性?
属性提供有关元素的额外信息,与元素不同的是:
- 属性不能包含多个值(元素可以)
- 属性不能包含树结构(元素可以)
- 属性不容易扩展
所以回答是:元数据(有关数据的数据)应当储存为属性,而数据本身应当存储为元素。
六:怎么在HTML文档中使用XML?
一个某网页的案例:文章来源:https://www.toymoban.com/news/detail-496250.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>显示所有CD信息</title>
</head>
<body>
<table border="1">
<th>DC信息表</th>
<tr>
<td>title:</td>
<td id="title"></td>
</tr>
<tr>
<td>artist:</td>
<td id="artist"></td>
</tr>
<tr>
<td>country:</td>
<td id="country"></td>
</tr>
<tr>
<td>year:</td>
<td id="year"></td>
</tr>
</table>
<button id="top" onclick="previous()">上一张</button>
<button id="below" onclick="next()">下一张</button>
</body>
<script>
// 创建XHR对象,用来获取xml里的内容
xmlhttp=new XMLHttpRequest();
//打开连接,请求方式,xml地址,是否开启异步
xmlhttp.open("GET","DC.xml",false);
// 发送一个 XML HTTP 请求到服务器
xmlhttp.send();
// 设置响应为XML DOM对象
xmlDoc = xmlhttp.responseXML;
x = xmlDoc.getElementsByTagName("cd");
console.log(x.length);
let i=0;
// 根据i显示信息
function showCD(i){
document.getElementById("title").innerText = (x[i].getElementsByTagName("title")[0].textContent);
document.getElementById("artist").innerText = (x[i].getElementsByTagName("artist")[0].textContent);
document.getElementById("country").innerText = (x[i].getElementsByTagName("country")[0].textContent);
document.getElementById("year").innerText = (x[i].getElementsByTagName("year")[0].textContent);
}
showCD(i);
function next(){
if(i>=x.length-1){
alert("已经是最后一张CD了");
return;
}
i++;
showCD(i);
}
function previous(){
if(i<=0){
alert("已经是第一页了");
return;
}
i--;
showCD(i);
}
</script>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
<cd>
<title>Greatest Hits</title>
<artist>Dolly parton</artist>
<country>USA</country>
<company>RCA</company>
<price>9.90</price>
<year>1982</year>
</cd>
</catalog>
七:怎么更好的操作xml?
XML DOM文章来源地址https://www.toymoban.com/news/detail-496250.html
x.nodeName | x的名称 |
x.nodeValue | 值 |
x.parentNode | 父节点 |
x.childNodes | 子节点 |
x.attributes | 属性节点 |
x.getElementsByTagName(name) | 获取带有指定标签名称的所有元素 |
x.appendChild(node) | 向x插入子节点 |
x.removeChild(node) | 从x删除子节点 |
到了这里,关于XML可扩展标记语言的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!