怎么样在网页上读取远程xml的数据
本文转自:http://www.10086web.com/html/wangluobiancheng/Xmlbiancheng/2009/0612/90.html
一个客户提供一个股价的信息,要求放在页面上,显示一些数据,需要从远程获取xml,然后解析写在网页上,开始不会觉得很难,其实蛮简单的,先用javascript写了一个:
<mce:script language=javascript><!--
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("http://****.com/scripts/****.asp?subcode=C22");
nodes = xmlDoc.documentElement.childNodes;
var text = xmlDoc.selectSingleNode("//last").text
document.write(text);
// --></mce:script>
http://****.com/scripts/****.asp?subcode=C22 ,是客户提供的页面,其实是xml的内容,这里直接调用windows的组件进行读取,然后调用其中一个selectSingleNode的方法,读出last字段的内容;
VBscript也写了一个,其实差不多,不过有一点不同,asp中VB的不能直接读取远程xml的内容,很奇怪,不知道是不是由于VB的限制: dim XMLMorntekDocument
Set http=Server.CreateObject("Microsoft.XMLHTTP")
http.Open "GET","http://****com/scripts/******.asp?subcode=C22",False
http.send
Set XMLMorntekDocument=Server.CreateObject("Microsoft.XMLDOM")
XMLMorntekDocument.Async=False
XMLMorntekDocument.ValidateOnParse=False
XMLMorntekDocument.Load(http.ResponseXML)
price = XMLMorntekDocument.selectSingleNode("//last").text
response.write price
Set http=Nothing
Set XMLMorntekDocument=Nothing
这里先用XMLHTTP的方法,get到xml文件,然后再解析。
相关文档:
一个XML文件通常包含文件头和文件体两大部分
1. 文件头
XML文件头由XML声明与DTD文件类型声明组成。其中DTD文件类型声明是可以缺少的,关于DTD声明将在后续的内容中介绍,而XML声明是必须要有的,以使文件符合XML的标准规格。
在前面的Flowers.xml文件中的第一行代码即为XML声明:
<?xml 版 ......
var
xmlDoc
=
null
;
function
parseXML
(
xmlUrl
)
{
try
{
//IE
xmlDoc
=
new
ActiveXObject
(
"Microsoft.XMLDOM"
);
xmlDoc
.
async
=
false
;
xmlDoc
......
AJAX (异步 JavaScript 和 XML) 是个新产生的术语,专为描述JavaScript的两项强大性能.这两项性
能在多年来一直被网络开发者所忽略,直到最近Gmail, Google suggest和google Maps的横空出世才使人
们开始意识到其重要性.
这两项被忽视的性能是:
* 无需重新装载整个页面便能向服务器发送请求.
* 对XML文档的解析和处理.
......
首先,加载TXT实例:
代码:
虽然是很旧的一套教程,可是很实用,所以我把它放在这。
(注意:看代码的时候留意一下节点的用法:myXML.childNodes[0].childNodes[0].childNodes[0]....xml节点的地方。)
一、建立XML对象:
var myXML = new XML();
二、引用XML文件:
myXML.load("data.xml");
三、忽略空格:
my ......