在一个循环中读取xml文件的所有节点
read all the nodes of xml file in a loop
我有这样的 xml文件
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web" cover="paperback">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
我想读取这个xml.ie的所有值。我需要所有节点的值。是否可以在不使用服务器端脚本语言的情况下读取所有节点的值。下面给出了我用来阅读xml所有标题的代码。
<script type="text/javascript">
function loadXMLDoc()
{
//var item = document.getElementById('search').value;
var request = new XMLHttpRequest();
var url = "http://saletrack.cynere.net/test2.xml";
request.open("GET",url, true);
request.send();
request.onreadystatechange = function() {
if (request.readyState == 4) {
if (request.status == 200 || request.status == 0) {
var myxml = request.responseXML;
var theHTML = '';
var x = myxml.getElementsByTagName("title");
for (var i = 0; i < x.length; i++) {
var y = x[i].childNodes[0].nodeValue;
theHTML += ['<div class="result"',
'<div ul="content">',
'<li><h3>'+y+'</h3></li>',
'</ul>',
'</div>'].join('');
}
}
}
document.getElementById('list').innerHTML = theHTML;
}
}
document.addEventListener("deviceready", loadXMLDoc, false);
</script>
提前感谢。。。。。。。。。。
你能用jquery代替核心javascript吗。我使用以下代码来显示本地xml文件的内容。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
//Code Starts
$(document).ready(function(){
$("#list").append("<ul></ul>");
$.ajax({
type: "GET",
url: "test2.xml",
//url: "test2.xml",
crossDomain: true,
dataType: "xml",
success: function(xml){
$(xml).find('book').each(function(){
var sTitle = $(this).find('title').text();
var author = $(this).find('author').text();
var year = $(this).find('year').text();
var price = $(this).find('price').text();
$("<li></li>").html(sTitle + ", " + author + ", " + year + ", " + price ).appendTo("#list ul");
});
},
error: (function(xhr, ajaxOptions, thrownError) {
///show error message ie. "Status Code: ("+xhr.status+")<br>Description: "+xhr.statusText
alert("An error occurred while processing XML file. Status Code: ("+xhr.status+")<br>Description: "+xhr.statusText );
})
});
});
</script>
Html代码:
<body>
<div id="list"></div>
</body>
输出为:
- 《日常意大利语》,Giada De Laurentiis,2005年,30.00
- 哈利·波特,J·K·罗琳,2005年,29.99
- XQuery启动,James McGovern Per Bothner Kurt CagleJames LinnVaidyanathan Nagarajan,2003,49.99
- 学习XML,Erik T.Ray,2003,39.95
相关文章:
- 我应该如何从xml文件构建一个javascript页面
- 显示IIS上javascript文件(SOAP请求)的XML响应
- 如何使用javascript或jquery mobile从url读取和显示XML文件
- 如何使用JQUERY解析大型XML文件并将其可视化为HTML格式
- Javascript/JQuery.本地缓存xml文件
- 需要帮助处理XML HTTP文件上载请求
- xml文件在js项目目录结构中的位置
- 使用jquery动态解析XML文件
- 指定单击链接时要加载的xml文件
- 使用javascript读取本地XML文件并在html页面中显示
- 将xml文件导入pdf(Acrobat)
- 使用AJAX传递的数据编辑XML文件-正在删除XML数据
- 在HTML文档中使用XML文件中的数据
- 可以't从xml文件中提取数据
- 通过JS/AAJAX在XML文件中搜索1个数据
- 搜索XML文件并使用javascript显示结果
- Windows 8市场应用程序JS,访问远程XML文件
- 如何获取XML值,然后使用javascript将它们输出到htm文件中
- 加载svg文件(xml)并使用javascript提取特定信息
- (初学者javascript)获取多个文本文件XML请求