Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SOAP/XML到JavaScript数组_Javascript_Soap_Xml Parsing - Fatal编程技术网

SOAP/XML到JavaScript数组

SOAP/XML到JavaScript数组,javascript,soap,xml-parsing,Javascript,Soap,Xml Parsing,我希望从下面的SOAP/XML字符串中提取ItemName和Value对。我在网上尝试各种正确的方法,弄得我头昏脑胀。我已经放弃了,只想将数据解析为字符串。我已经看过XSLT,但我需要将SOAP数据与一些更易于阅读的数据相关联,因此将它们全部放在JavaScript数组中对我来说会更好 [删除了我可怕的原始JavaScript代码块,并将其替换为好代码。] <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope

我希望从下面的SOAP/XML字符串中提取ItemName和Value对。我在网上尝试各种正确的方法,弄得我头昏脑胀。我已经放弃了,只想将数据解析为字符串。我已经看过XSLT,但我需要将SOAP数据与一些更易于阅读的数据相关联,因此将它们全部放在JavaScript数组中对我来说会更好

[删除了我可怕的原始JavaScript代码块,并将其替换为好代码。]

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<ReadResponse xmlns="http://opcfoundation.org/webservices/XMLDA/1.0/">
<ReadResult RcvTime="2012-05-02T13:25:39.484+01:00" ReplyTime="2012-05-02T13:25:39.484+01:00" RevisedLocaleID="en" ServerState="running">    </ReadResult>
<RItemList>
<Items ItemName="_System._DateTime">
    <Value xsi:type="xsd:dateTime">2012-05-02T12:25:38.000+01:00</Value>
    <Quality></Quality>
</Items>
<Items ItemName="_System._ProjectTitle">
    <Value xsi:type="xsd:string">Job2663</Value>
    <Quality></Quality>
</Items>
</RItemList>
</ReadResponse>
</soap:Body>
</soap:Envelope>

//Edited below to include correct code based on Rocket's solution below.
$(soap).find('Items').each(function(){
  console.log($(this).attr('ItemName'), ':', $('Value', this).html());
});

2012-05-02T12:25:38.000+01:00
职位2663
//根据下面火箭的解决方案,在下面进行编辑,以包含正确的代码。
$(soap).find('Items').each(function(){
log($(this.attr('ItemName'),':',$('Value',this.html());
});

非常感谢。

您能使用jQuery吗?jQuery可以为您解析XML,您可以使用jQuery方法遍历它

$(soap).find('Items').each(function(){
    console.log($(this).attr('ItemName'), $('Value', this).attr('xsi:type'));
});

演示:

谢谢,火箭。好极了我们快到了。我们要返回[“\u System.\u DateTime”,“2012-05-02T12:25:38.000+01:00”],[“\u System.\u ProjectTitle”,“Job2663”]。如何在值/值标记之间检索项目?火箭,再次感谢指针。我把剩下的都弄明白了(对我来说都是新东西)。为了清晰起见,我编辑了原文。