在 Javascript/JQuery 中搜索 XML 字符串
Searching XML String in Javascript/JQuery
我需要一种方法来搜索XML字符串并返回一个包含满足多个搜索条件的"记录"元素的数组。
结构是这样的:
<record>
<project_name>Deploy Document Management</project_name>
<project_phase>Design</porject_phase>
<status>Not Started</status>
<priority>Medium</priority>
</record>
<record>
<project_name>Do Something Else</project_name>
<project_phase>Design</porject_phase>
<status>Not Started</status>
<priority>Medium</priority>
</record>
如果我想返回一个"记录"数组,其中状态="未开始"和优先级="中"....我如何使用 JavaScript 或 JQuery 来做到这一点?
为了清楚起见,我需要符合条件的每条记录的整条记录。
提前谢谢。
一个好的开始是解析XML,例如使用jQuery.parseXML()
然后,您可以像往常一样访问返回文档的 DOM。
例:
var xml = '<xml><record><project_name>Deploy Document Management</project_name><project_phase>Design</project_phase><status>Not Started</status><priority>Medium</priority></record><record><project_name>Do Something Else</project_name><project_phase>Design</project_phase><status>Not Started</status><priority>Low</priority></record></xml>'
var xmlDoc = $.parseXML(xml)
var $xml = $(xmlDoc)
var $records = $xml.find("record").filter(function() {
return $(this).find("status").text() == "Not Started" &&
$(this).find("priority").text() == "Medium"
});
// $records already holds all Elements as an Array, but you cold get the texts like this:
var records = []
$records.each(function() {
// do your thing
records.push($(this).text())
})
document.write(JSON.stringify(records))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
请注意,原始 XML project_phase
中有拼写错误
相关文章:
- 通过JS/AAJAX在XML文件中搜索1个数据
- 搜索XML文件并使用javascript显示结果
- 在 XML 文件中搜索 TestComplete 中的特定属性值
- 如何在 XML 中搜索特定属性以检索另一个属性
- JavaScript:在XML中搜索节点并从该节点获取数组
- 在 xml 中搜索属性
- 基于某个标记 ID 从 XML 中搜索值
- Jquery XML搜索并显示具有特定用户输入条件的结果
- 模糊搜索(fuse.js)使用XML而不是JSON
- 使用 jQuery 解析 XML 搜索结果页
- 如何使用 AJAX 和 XML 从自动完成搜索中将值放入隐藏字段
- 编写从 XML 文件返回数据的搜索字段脚本
- Javascript 按 Tag 搜索 XML 并获取同级节点
- 在 Javascript/JQuery 中搜索 XML 字符串
- 列向下搜索图-通过XML数据源解析趋势
- 在大量XML文件中搜索特定标记
- javascript来搜索XML文档中的属性
- 使用xml进行正则表达式搜索
- 使用JavaScript在HTML中搜索XML
- 更改'下载网址'搜索URL'XML数据