使用 Prototype 的 $() 解析responseXML
我从 Ajax.Response.responseXML
中的 Ajax.Request
返回了 XML。我的 XML 实际上包含 XHTML 标签,我希望将其附加到我的文档中。
但是,我在将 responseXML
中的节点附加到当前文档时遇到问题。我怀疑这是因为它们是 XML 节点而不是 DOM 节点。
将 responseXML
包装在 $()
中似乎也不会返回节点的扩展版本,并且文档没有说明它会或不会。
Prototype 是否提供了一种使用 responseXML
的方法,如果没有,是否有跨浏览器的方法来解析响应并使用它?
I've got XML coming back from an Ajax.Request
in Ajax.Response.responseXML
. My XML actually contains XHTML tags which I hope to append into my document.
I'm having issues appending nodes from the responseXML
into the current document, however. I suspect that this is because they are XML nodes and not DOM nodes.
Wrapping the responseXML
in $()
doesn't seem to return an extended version of the nodes, either, and the documentation doesn't say that it will or won't.
Does Prototype provide a way to make use of the responseXML
, and if not, is there a cross-browser way to parse the response and use it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尽管我接受 Christian 的答案为“正确”答案,但我的同事向我展示了一种使用 Prototype 解析 XML 响应的方法。
您无需使用
responseXML
,只需创建一个Element
,然后使用responseText
对其进行update()
。然后,您可以使用select()
和类似的方法来遍历节点。Although I accepted Christian's answer as the "correct" answer, a colleage of mine showed me a way to parse an XML response with Prototype.
Rather that using
responseXML
, you simply create anElement
and thenupdate()
it with theresponseText
. You can then useselect()
and methods like it to traverse the nodes.没有原型没有解析 XML 的本机方法。您也不能使用 $(xml) 扩展 xml,然后使用 .next()、.select() 等遍历 DOM。
这是我最近在一个项目中所做的示例,从拼写检查结果中手动解析一些 XML 。应该让你开始。
No prototype does not have a native way to parse XML. Nor can you extend the xml with $(xml) and then walk the DOM with .next(),.select(), etc.
Here is an example of what I did recently on a project to manually parse some XML from spell check results. Should get you started.