从一个XML树提取相关信息
来源:互联网 发布:kiki软件 编辑:程序博客网 时间:2024/06/15 03:03
问题:想要从一个XML文档访问单独的数据块
解决方案:使用用来查询Web页面元素相同的DOM方法,来查询XML文档:var resources = document.getElementByTagName(“resource”);
注意:头部编写为返回带有一个text/xml 的MIME类型的内容,并且Access-Control-Allow-Origin头部值设置为接受来自所有域(*)的查询。由于node应用程序在不同的端口运行,而不只是在查询它的web页面运行,所有我们必须设置,允许所有域,以便跨域访问。
如下是一个node.js服务器应用程序
var http = require('http');var url = require('url');var XMLWriter = require('xml-writer');//启动服务器,监听请求var server = http.createServer().listen(8080);server.on('request',function(req,res){ var xw = new XMLWriter; //开始doc和root元素 xw.startDocument().startElement("resources"); //资源 xw.startElement("resource"); xw.writeElement("title","Ecma-262 Edition 6"); xw.writeElement("url","http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts"); xw.endElement(); //资源 xw.startElement("resource"); xw.writeElement("title","ECMA-262 Edition 5.1"); xw.writeElement("url","http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf"); xw.endElement(); //资源 xw.startElement("resource"); xw.writeElement("title","ECMA-402"); xw.writeElement("url","http://ecma-international.org/ecma-402/1.0/ECMA-402.pdf"); xw.endElement(); //结束资源 xw.endElement(); res.writeHeader(200,{ "Content-Type":"application/xml", "Access-Control-Allow-Origin":"*",//允许跨域 }); res.end(xw.toString(),"utf8");});
我们启动 node.js服务器应用程序,注意要安装相关模块,比如程序中用到的 xml-writer .使用npm xml-writer

运行结果

下面是处理XML返回的资源应用程序
<!DOCTYPE html><html><head> <title>Stories</title> <meta charset="utf-8"></head><body> <div id="result"></div> <script type="text/javascript"> var xmlRequest ; //ajax对象 if(window.XMLHttpRequest){ xmlRequest = new XMLHttpRequest(); } //构建请求 var url = "http://localhost:8080/"; xmlRequest.open('GET',url,true); xmlRequest.onreadystatechange=getData; xmlRequest.send(); function getData(){ if(xmlRequest.readyState ==4 && xmlRequest.status==200){ console.log("ready is ready"); try{ var result = document.getElementById("result"); console.log(result); var str = "<p>"; //可以在XML文档上使用DOM方法 var resources = xmlRequest.responseXML.getElementsByTagName("resource"); console.log(resources); //处理资源 for(var i = 0; i<resources.length; i++){ var resource = resources[i]; //获取title和URL,生成HTML var title = resource.childNodes[0].firstChild.nodeValue; var url= resource.childNodes[1].firstChild.nodeValue; str+="<a href='"+url+"'>"+title+"</a><br/>"; } //完成HTML并插入 str+="</p>"; result.innerHTML = str; }catch(e){ console.log(e.message); } } } </script></body></html>

阅读全文
0 0
- 从一个XML树提取相关信息
- 我的一个设想(从Html按规则文件提取信息到Xml)
- 导出短信.xml,提取信息
- 用aapt从apk中提取package,activity,versionCode等相关信息
- 用aapt从apk中提取package,activity,versionCode等相关信息
- 用aapt从apk中提取package,activity,versionCode等相关信息
- Python 小技巧:使用 scrapy.selector 从 XML 中提取信息
- XML相关信息
- 快速从一个XML文件中查找信息
- 怎样快速从一个XML文件中查找信息
- 怎样快速从一个XML文件中查找信息
- 怎样快速从一个XML文件中查找信息
- 怎样快速从一个XML文件中查找信息
- 从一个点云中提取索引
- 从一个点云中提取索引
- 从一个点云中提取索引
- python模拟翻页+提取相关信息
- 从MP3中提取歌曲信息
- c# 修饰符
- 假设今天你开了一家经营生鲜品类的淘宝店,你怎么获取第一批用户, 并能够运营起来
- webStrom 格式化代码快捷键&替换代码快捷键
- java程序员的大数据之路(3):用maven构建Hadoop项目
- 生成html水印,兼容IE8
- 从一个XML树提取相关信息
- 在一台电脑中配置多个git用户
- 解析一个JSON格式化字符串
- Linux学习之路2
- 电话号码分身(小米2017秋招真题)
- 数组的使用(1)
- JSONP对另一个域进行Ajax请求
- SQL必知必会(5)——汇总数据
- static 的作用?