0

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

我只想在 JavaScript 中这样做的原因是因为这都是服务器端的,与特定的浏览器没有任何关系。

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

谢谢,

道格

4

2 回答 2

0

我尝试查看 Webcrossing,但似乎他们没有该产品的在线文档。我想您必须付费才能获得文档,这有点令人惊讶,因为如今即使是商业产品也往往具有免费的在线文档-开发人员将如何评估产品?

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

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

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

https://github.com/joyent/node/wiki/modules#wiki-parsers-xml

上面的列表并不详尽。如需完整列表,您可以在此处搜索 npm 注册表:

https://npmjs.org/

从谷歌上的快速搜索来看,在我看来你最好的选择是移植这个模块(顺便说一下,它没有在 wiki 中列出):

https://github.com/nfarina/xmldoc

xmldoc 模块的独特之处在于它被设计为在节点和 Web 浏览器中工作。所以它可能有更好的机会被移植。

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

于 2013-03-25T05:24:23.363 回答
0

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

假设您可以找到类似于 DOMParser 的东西(有关 JS 中 XML 解析的更多信息,请参阅http://www.w3schools.com/dom/dom_parser.asp),这是我所知道的最好的入门方式。

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

于 2013-03-25T04:16:50.693 回答