javascript读取xml文件
posted @   sevennight  阅读(1271)  评论(0编辑  收藏  举报

什么是 XML?

  • XML 指可扩展标记语言(EXtensible Markup Language)
  • XML 是一种标记语言,很类似 HTML
  • XML 的设计宗旨是传输数据,而非显示数据
  • XML 标签没有被预定义。您需要自行定义标签。
  • XML 被设计为具有自我描述性。
  • XML 是 W3C 的推荐标准

XML文件

<note>
    <id>1</id>
    <name>SevenNight</name>
    <sex></sex>
    <style>12</style>
</note>

 

1、把 XML 文档解析到 XML DOM 对象中:

复制代码
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
} else {// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.open("GET","Test.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

//读取节点
xmlDoc.getElementsByTagName("id")[0].childNodes[0].nodeValue;

xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue;

xmlDoc.getElementsByTagName("sex")[0].childNodes[0].nodeValue;

xmlDoc.getElementsByTagName("style")[0].childNodes[0].nodeValue;

复制代码

跨域访问

出于安全方面的原因,现代的浏览器不允许跨域的访问。

这意味着,网页以及它试图加载的 XML 文件,都必须位于相同的服务器上、同一域上

假如你打算在自己的网页上使用上面的例子,则必须把 XML 文件放到自己的服务器上。否则,xmlDoc.load() 将产生错误 "Access is denied"。

 

如果想不再同一域上能访问,还可以在服务器相应头设置允许跨域访问

//表示任何网站都可以请求
response.setHeader("Access-Control-Allow-Origin", "*");

//表示只有http://www.baidu.com能请求
response.setHeader("Access-Control-Allow-Origin", "http://www.baidu.com");

 

访问响应信息

HTTP/1.1 200 OK
Set-Cookie: AO="o=1&s=1&dnt=1"; Version=1; Domain=yahoo.com; Max-Age=630720000; Expires=Sat, 18-Jun-2033 10:07:41 GMT; Path=/
Access-Control-Allow-Origin: *    //表示允许跨域的相应头
Cache-Control: public, max-age=899
Content-Type: text/xml;charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Date: Sun, 23 Jun 2013 10:07:40 GMT

 

 

在html中,可以设置

<meta http-equiv="Access-Control-Allow-Origin" content="*">
<meta http-equiv="Access-Control-Allow-Origin" content="http://www.baidu.com">

 

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示