首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从xml响应到js中提取对象数组

问从xml响应到js中提取对象数组
EN

Stack Overflow用户
提问于 2014-08-28 01:59:25
回答 2查看 1.2K关注 0票数 0

因此,我从xml响应中提取变量,并尝试重新格式化对象,但我希望以最有效的方式完成此操作。因此,我希望将包含相同对象的xml数组加载到js数组中,以便循环并输出新格式。在提取XPath时,我发现了对type="nodeset“的引用,但在文档中找不到对它的引用。

将完整的xml对象加载到js变量中、遍历对象并输出新格式的最佳方式是什么?

感谢你在这方面给我的任何帮助。

EN

回答 2

Stack Overflow用户

发布于 2014-08-28 02:45:08

实现这一点的最好方法是使用XMLToJSON策略,这是一个JavaScript标注,您可以在其中协调您的有效负载,然后在需要时使用JSONToXML进行转换。

票数 0
EN

Stack Overflow用户

发布于 2014-08-29 00:20:46

对于不需要过滤的XML数组,可以使用带有type="nodeset"的XPATH,就像前面描述的那样。这允许您提取特定XPATH中的节点和所有子节点。我相信你已经注意到了,你不能仅仅通过提取type="string"来做到这一点。只需知道,您需要将提取的变量转换为字符串,然后才能像使用其他字符串一样使用XML节点。然后,您可以执行JSON.parse来获取字符串,并像处理数组一样操作对象。字符串转换很简单,只需使用以下代码调用JS标注(如果其他人有更好的方法,我洗耳恭听):

代码语言:javascript
复制
var extractedNodeSet = context.getVariable("extractedNodeSet");
var extractedNodeSetString = String(extractedNodeSet);

对于需要过滤/操作的XML数组,我建议结合使用XSLT和受信任的<xsl:for-each select=...>元素。这将允许您在XML数组节点上设置条件,操作标记/数据,并提取数据,所有这些都在一个步骤中完成。唯一需要注意的是,这不是一个JS数组,所以如果您一定要有一个JS数组,那么您就需要执行一个XMLtoJSON并处理其中的数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25534036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档