使用:在jquery中包含xml解析

时间:2013-04-04 02:50:55

标签: jquery xml xml-parsing contains

我正在尝试从包含非常无用的标记的大型.xml文件中获取数据。这些标签几乎都是一样的,我对xml输出无能为力。这些xml文档将定期更新,我希望自动化一个网站流程,以便轻松获取相关数据。我希望获取xml文件并使用jquery中的:contains()动作,但我似乎无法使其工作。

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>

所以上面的代码工作正常并且它给出了所有“键”但是我想首先找到:contains('time_cost')然后横穿子项和层次结构到人力数据的末尾xml文件。我需要这样做的原因是因为在完整文件中有多个人力引用,但time_cost是唯一的。如果有人能帮助至少让最接近的功能发挥作用,我将不胜感激。

我试过了:

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

但它不起作用。我对jQuery很新,所以我可能正在做一些非常微不足道的事情?

这是一个本地的jsFiddle版本: http://jsfiddle.net/yN3Sj/4/

1 个答案:

答案 0 :(得分:1)

为什么你不这样做,它会给Value元素带有密钥manpower

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

演示:Fiddle