
JS中有原生函数,支持解析xml字符串或者文件。
(new DOMParser())parseFromString(xxxxx)这个代码可以解析XML字符串,为对象。
<html><body>
<script type="text/javascript">
try //Internet Explorer
{
xmlDoc=new ActiveXObject("MicrosoftXMLDOM");
}
catch(e)
{
try //Firefox, Mozilla, Opera, Chrome, etc
{
xmlDoc=documentimplementationcreateDocument("","",null);
}
catch(e) {alert(emessage)}
}
try
{
xmlDocasync=false;
xmlDocload("booksxml");
documentwrite("xmlDoc is loaded, ready for use");
}
catch(e) {alert(emessage)}
</script>
</body>
</html>
上面这段代码可以解析一个XML文件。
具体的可参考下面教程,或者小乐阅读(Chrome浏览器中的RSS阅读器)中的源代码
>
<bean id="hostA" class="orgspring">
没有/
应该是<bean id="hostA" class="orgspring"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" ">
var xmlStr = '<root><people><name>张三</name><address>北京</address></people></root>';
var result = null;
eval('result=['+$(xmlStr)find('people')map(function(){
return '{'+$('',this)map(function(){
return $(this)attr('tagName') + ':"' + $(this)text() + '"';
})get()join(',') + '}';
})get()join('],[')+']');
alert(result);
//result是一个数组,如果有多个people节点,则为:[{name:"张三",address="北京"},{name:"李四",address="上海"}]
不好意思偏题了,以下是你要的结果:
var result = $(xmlStr)find('people')children()map(function(){
return $(this)attr('tagName')+'='+$(this)text();
})get()join();
上面的都是jquery的写法:
javascript的话:
用COM *** 作:
object xmlDoc = new ActiveObject('msxml2');
xmlDocloadXml(xmlStr);
var pNode = xmlDocselectSignNode('people');
var result = '';
for(var node in pNodeselectNodes('')){
result+=(resultlength>0',':'') + nodenodeName+'='+nodeinnerText;
}
alert(reuslt);
或者用DOM *** 作:
<xml id='testXml' />
var result = '';
with(documentgetElementById('testXml')){
innerHTML = xmlStr;
for(var child in children){
result += ',' + childtagName + '=' + childinnerText;
}
if(resultlength > 0){
result = resultsubstring(1);
}
}
以上就是关于使用js实现html加载xml内容(本地电脑使用)全部的内容,包括:使用js实现html加载xml内容(本地电脑使用)、怎么通过js跨域获取xml文件并解析到html上呢我要弄一个简单天气预报的页面,主要是怎么去获取。、js dom 简单问题之读取xml等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)