使用:包含在jQuery的XML解析

问题描述:

我想从一个很大的.xml文件,其中包含相当无益的标签采取数据。这些标签都几乎相同,并且我无法对xml输出做任何事情。这些XML文件将会定期更新,我希望能够自动化网站的流程,轻松获取相关数据。我希望能够获取xml文件,并使用jquery的:contains()动作,但似乎无法使其工作。使用:包含在jQuery的XML解析

XML file is here

这里是我的代码:

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
</head> 
<body> 
<p id="manpower"></p> 
<script> 
$(document).ready(function(){ 
$.ajax({ 
    type: "GET", 
    url: "test.xml", 
    dataType: "xml", 
    success: function(xml) { 
    $title = $(xml).find("Key"); 

    $("#manpower").append($title.text()); 
    } 
}); 
}); 
</script> 
</body> 
</html> 

所以上面的代码工作正常,它给所有的“钥匙”不过,我想先找到的是:包含(“time_cost” ),然后横穿儿童和层次结构到xml文件末尾的人力数据。我需要这样做的原因是因为在完整文件中有多个人力参考,但time_cost是唯一的。如果有人能够帮助至少获得最接近的功能,我将不胜感激。

我曾尝试:

$title = $(xml).find("Key:closest('time_cost')"); 

但它不工作。我对jQuery相当陌生,所以我可能会做一些相当微不足道的事情?

这是当地的jsfiddle版本: http://jsfiddle.net/yN3Sj/4/

+0

你的问题说: “载”,但该代码表示​​ “最接近的一次。”这是什么? – 2013-04-04 02:52:30

+0

什么是价值,你想作为输出 – 2013-04-04 03:12:56

你为什么不这样做,它会给出一个具有关键manpowerValue元素。

xmlDoc = $.parseXML(xml), 
$xml = $(xmlDoc), 
$time_cost = $(xml).find("Key:contains('time_cost')"), 
$manpower = $('Key:contains("manpower")', $time_cost.parent()).parent(); 

演示:Fiddle

+0

嗯intersting,没有想到它那样。主要问题是有多个条目与'人力',所以我最终通过使用更独特的标记和使用.next()和.prev() – user2242999 2013-04-04 04:38:29