Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.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/0/xml/13.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
一种不使用jQuery将XML字符串转换为JavaScript对象的方法?_Javascript_Xml_Object - Fatal编程技术网

一种不使用jQuery将XML字符串转换为JavaScript对象的方法?

一种不使用jQuery将XML字符串转换为JavaScript对象的方法?,javascript,xml,object,Javascript,Xml,Object,有人知道如何在不使用jQuery或其他DOM库的情况下将有效的XML字符串转换为JavaScript对象吗 我之所以只想用JavaScript实现它,是因为这都是服务器端的,与特定的浏览器没有任何关系 再次强调-这不是客户端JavaScript。它是服务器端的 谢谢 道格我怀疑约翰·保罗·卡德纳斯在评论中的片段是最接近你的。希望您能在特定的服务器端环境中找到DOM库,我不熟悉您描述的平台 假设您可以找到类似于DOMParser的东西(请参阅了解更多关于JS中XML解析的信息),这是我所知道的最好

有人知道如何在不使用jQuery或其他DOM库的情况下将有效的XML字符串转换为JavaScript对象吗

我之所以只想用JavaScript实现它,是因为这都是服务器端的,与特定的浏览器没有任何关系

再次强调-这不是客户端JavaScript。它是服务器端的

谢谢


道格

我怀疑约翰·保罗·卡德纳斯在评论中的片段是最接近你的。希望您能在特定的服务器端环境中找到DOM库,我不熟悉您描述的平台

假设您可以找到类似于DOMParser的东西(请参阅了解更多关于JS中XML解析的信息),这是我所知道的最好的入门方法


当然,从这里开始,您将通过遍历DOM树手动解析代码。这是因为没有将XML转换为JSON的标准方法;它们并不完全直接兼容。例如,XML节点具有属性;JSON没有。如何处理这些细微差别取决于您特定的XML模式和特定项目的需求。

我尝试查看Webcrossing,但他们似乎没有该产品的在线文档。我猜你必须付费才能获得文档,这有点令人惊讶,因为即使是现在的商业产品也往往有免费的在线文档——否则开发者会如何评价产品

如果您确实可以访问文档(因为您/您的雇主为此支付了费用,所以您应该这样做),我建议您在文档中查找如何处理XML。Webcrossing声称具有内置的XMLRPC功能,这意味着内置的XML解析功能

大多数内置了这些东西的javascript引擎倾向于实现一个DOM解析器,该解析器将XML转换为DOM对象。这样做的好处是,您可以使用熟悉的DOM操作,如
getElementById()
getElementsByTagName()
element.children
等来遍历和处理XML文档。这样做的缺点是需要使用上面详细的DOM操作来遍历和处理XML文档

但是,如果Webcrossing不提供内置的XML解析器(这不太可能,因为它支持XMLRPC),那么下一个最佳选择就是通过node.js模块进行移植。此处列出了一些与XML相关的模块:

上述清单并非详尽无遗。有关完整列表,您可以在此处搜索npm注册表:

从谷歌上的快速搜索来看,我认为你最好的选择是移植这个模块(顺便说一句,维基上没有列出这个模块):

xmldoc模块的独特之处在于,它设计用于节点和web浏览器。因此,它可能有更好的机会被移植


在任何情况下,请先阅读您的文档(或联系Webcrossing的技术支持)。

您是否可以展示一些相关代码,可能是要转换为JS对象的XML。您使用的服务器端环境是什么?犀牛Node.js。答案将根据您的解释器而有所不同(就像在web浏览器中一样,嗯?),Javascript是客户端的。我强烈建议改为使用JSON,但这里有一些参考:我正在使用Webcrossing。也许不那么广为人知。服务器端JS是SpiderMonkey的增强版。目前还没有相关的代码显示。我只是从另一个站点获取XML。那只是一句话。现在我想找到一些方法来解析它。请注意,JavaScript不仅仅是客户端。这是它最常见的用法,但也有服务器端Java脚本。我正在使用一个与Webcrossing面向对象数据库一起工作的数据库。转换为JSON可能也没问题,因为我可以使用eval从那里转换到一个对象。我已经使用它很长时间了,并且是组织中的一个原则。所以我只是想澄清一下。这就是说,这些文件是在线的。正如您所指出的,Webcrossing可以充当XML-RPC客户端和服务器。实际上,使用它非常简单和酷。您可以拨打和接听电话,而无需实际创建或查看XML。它是完全透明的。无论如何,我想看看服务器上有什么可用的。显然有一个xmlToObject方法。