DOM的JavaScript解析器

DOM的JavaScript解析器,第1张

概述我们在一个项目中有一个特殊要求,我们必须通过JavaScript解析一串HTML(来自AJAX响应)客户端.多数民众赞成在PHP或Java中没有解析!我整整一周都经历过StackOverflow,但还没有得到可接受的解决方案. 有关要求的更多细节: >我们可以使用任何库(最好是dojo和/或jQuery)或者原生! >我们需要解析作为字符串收到的整个HTML文档,包括< head>和< body> 我们在一个项目中有一个特殊要求,我们必须通过JavaScript解析一串HTML(来自AJAX响应)客户端.多数民众赞成在PHP或Java中没有解析!我整整一周都经历过StackOverflow,但还没有得到可接受的解决方案.

有关要求的更多细节:

>我们可以使用任何库(最好是dojo和/或jquery)或者原生!
>我们需要解析作为字符串收到的整个HTML文档,包括< head>和< body>.
>我们还需要有时将解析后的DOM结构序列化为字符串.
>最后,我们不希望将解析后的DOM附加到当前document.相反,我们会将其发送回服务器以进行永久存储.

例如:我们需要类似的东西

var dom = HTMLtodoM('<HTML><head><Title> This is the old Title. </Title></head></HTML>');    dom.getElementsByTagname('Title')[0].INNERHTML = "This is a new Title";

通过我的研究,这些是我们的选择:

> A TinyMCE Parser.问题?我们需要包括一个我认为的编辑.如何解析我们不需要编辑器的HTML?
> John Resig’s Parser.应该是我们最好的选择.不幸的是,当给出页面的全部内容时,解析器崩溃了!
> jquery $(HTMLString)或dojo.todom(HTMLString).两者都依赖于documentFragment,因此吞噬了< head>和< body>!

编辑:我们想序列化HTML,以便我们可以通过RegExp捕获某些自定义HTML Commnet.我们需要让用户有机会编辑元标记,标题标记等HTML Parser.

哦,我觉得即使我只是暗示通过RegExp解析HTML,我也会在Stack Overflow中被谋杀!

解决方法 您可以利用当前文档而不向其添加任何节点.

尝试这样的事情:

function toNode(HTML) {    var doc = document.createElement('HTML');    doc.INNERHTML = HTML;    return doc;}var node = toNode('<HTML><head><Title> This is the old Title. </Title></head></HTML>');console.log(node);​

http://jsfiddle.net/6SvqA/3/

总结

以上是内存溢出为你收集整理的DOM的JavaScript解析器全部内容,希望文章能够帮你解决DOM的JavaScript解析器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1106683.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存