gpt4 book ai didi

jquery - 使用jquery解析xml

转载 作者:行者123 更新时间:2023-12-01 04:28:23 24 4
gpt4 key购买 nike

我正在查询 Microsoft Office SharePoint Server 搜索服务以将一些结果写入 Web 部件。我的查询工作正常,但在通过 JQuery 解析 xml 响应时遇到一些问题。

下面是 XML 响应:

<document>
<properties>
<Property>
<Name>p1</Name>
<Type>String</Type>
<Value>blue</Value>
</Property>
<Property>
<Name>title</Name>
<Type>string</Type>
<Value>titreA</Value>
</Property>
</properties>
</document>
<document>
<properties>
<Property>
<Name>p1</Name>
<Type>String</Type>
<Value>blue</Value>
</Property>
<Property>
<Name>title</Name>
<Type>string</Type>
<Value>titreB</Value>
</Property>
</properties>
</document>
<document>
<properties>
<Property>
<Name>p1</Name>
<Type>String</Type>
<Value>green</Value>
</Property>
<Property>
<Name>title</Name>
<Type>string</Type>
<Value>titreC</Value>
</Property>
</properties>
</document>
<document>
<properties>
<Property>
<Name>p1</Name>
<Type>String</Type>
<Value>red</Value>
</Property>
<Property>
<Name>title</Name>
<Type>string</Type>
<Value>titreD</Value>
</Property>
</properties>
</document>

如何检索 p1 值以及该值出现的次数?像这样:蓝色(2),绿色(1),红色(1)

最佳答案

XML 数据可以像 HTML 一样使用 jQuery 的方法进行“解析”。假设 data 是 XML 数据。

var name = 'p1';
$data = $(data);
$p1 = $data.find('Name:contains("'+name+'")').parent('Property');
p1Value = $p1.map(function(i,v){
return $(v).children('Value').text();
}).get();
alert(p1Value);

p1Value 是名称为“p1”的值数组。

p1Value[0] 等于“蓝色”。

如果您还想要出现的次数,可以这样做。

var name = 'p1';
$data = $(data);
$p1 = $data.find('Name:contains("'+name+'")').parent('Property');
p1Values = {};
$p1.each(function(i,v){
var val = $(v).children('Value').text();
if(p1Values.hasOwnProperty(val)){
p1Values[val]++;
}
else{
p1Values[val] = 1;
}
});

p1Values 是一个对象,其值作为属性名称,出现次数作为属性值。

p1Value['blue'] 等于 2。

关于jquery - 使用jquery解析xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4660506/

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