首页 > 代码库 > javascript读取xml文件
javascript读取xml文件
什么是 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 OKSet-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=899Content-Type: text/xml;charset=utf-8Content-Encoding: gzipVary: Accept-EncodingDate: 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">
javascript读取xml文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。