gpt4 book ai didi

javascript - 需要帮助使用 jquery 搜索 XML 文件并将结果存储在变量中供以后使用

转载 作者:行者123 更新时间:2023-11-29 10:45:51 25 4
gpt4 key购买 nike

我一直在寻找使用 javascript/jquery 的 XML 搜索方法这一周的大部分时间 - 但大多数方法用于输出到 HTML 或以 XML 显示整个记录数组,这是我不想要的实现。我要找的功能是搜索一个用户比如“Sarah”,然后把“department”和“code”存入对应的变量中; (var 部门,var 代码)。我有以下 XML 文件:

<?xml version="1.0" encoding="utf-8" ?>
<phonebook>
<person>
<first_name>Sarah</first_name>
<department>Sales</department>
<code>78</code>
</person>
<person>
<first_name>Jean-Claude</first_name>
<department>HR</department>
<code>90</code>
</person>
</phonebook>

我该如何为包含超过 400 条记录的 XML 文件执行此操作?

谢谢大家。这是面向 future 的人们的最终工作解决方案:

function ReadXML() {
try {
var xmlPath = "../WebResources/new_fruits.xml";
$.ajax({
type: "GET",
url: xmlPath,
dataType: "xml",
success: parseXML
});
} catch (e) {
alert("Error while reading XML; Description – " + e.description);
}
}

function parseXML(xml) {
var $person = $(xml).find('first_name').filter(function() {
return $(this).text() == "Sarah";
}).closest('person');

var department = $('department', $person).text(); // = Sales
var code = $('code', $person).text(); // = 78
}

最佳答案

你可以像这样使用filter:

function parseXML(xml) {
var $person = $(xml).find('first_name').filter(function() {
return $(this).text() == "Sarah";
}).closest('person');

var department = $('department', $person).text(); // = Sales
var code = $('code', $person).text(); // = 78
}

请注意,filter 比使用 :contains 选择器要快得多。当搜索 4000 个元素时,这种差异会非常明显。

关于javascript - 需要帮助使用 jquery 搜索 XML 文件并将结果存储在变量中供以后使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19742060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com