0

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

XML文件在这里

这是我的代码:

<!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/

4

1 回答 1

1

你为什么不做类似的事情,它会给出Value有 key 的元素manpower

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

演示:小提琴

于 2013-04-04T03:20:04.373 回答