MVC 框架 - 服务器端 DOM 操作
Posted
技术标签:
【中文标题】MVC 框架 - 服务器端 DOM 操作【英文标题】:MVC Framework - Server-side DOM manipulation 【发布时间】:2010-10-05 10:26:49 【问题描述】:我正在构建一个 MVC 框架,并且我正在寻找本地解决方案/框架/标签库来借鉴或完全替换我的框架。
我对以下功能特别感兴趣:
服务器端 DOM 操作 服务器端事件(页面重新加载、表单提交、节点插入等) 使用 css 选择器遍历 DOM 树 验证 html 节点嵌套 验证 html 节点允许的属性 支持标签库/用户控件几乎与 javascript 一样,但在服务器端并有一些额外的东西。
任何解决方案都可以(即使是部分解决方案),任何语言都可以,任何指针都可以使用(即使来自客户端语言,只要可以检查源代码)。处理格式错误的 html 不是先决条件。输出有效标记是一大优势。
请指出正在讨论的语言/框架,如果可能的话,提供实用的解决方案。
【问题讨论】:
【参考方案1】:您检查过 aptana jaxer 吗?
【讨论】:
+1 以获得对该问题的合法答案。虽然,有点斯巴达。是的,@the_drow,有些人宁愿以匿名的方式“猛烈抨击”,而不是讨论一个问题,从而避免对自己的想法和行为进行所有混乱的解释。有些人认为他们太忙了,无法解释他们认为“显而易见”的事情。【参考方案2】:如果您将页面加载到 DOM 解析器中,您将能够从那里对其进行修改。然后将其输出到输出缓冲区似乎很简单。
但是您需要将整个文档存储在内存中,这会影响性能。
【讨论】:
这就是我在编写 php 框架时采用的方法。然而,这个解决方案需要我手动编写一个事件系统和一个选择器系统。为这些制定一个简单的解决方案并不难,但优化它是一个问题。你还熟悉更多特色的 DOM 操纵器吗?【参考方案3】:所以,jQuery 实现了一种选择器 API,我想我可以看看他们的源代码。另外,PHP 支持 XPath,这也有帮助。
【讨论】:
【参考方案4】:在这里找到了一个 php html dom 解析器,它也实现了一些 html 选择器:http://simplehtmldom.sourceforge.net
【讨论】:
【参考方案5】:Fizzler 使用 HTMLAgility 包并添加了一个服务器端 queryselectorall 来提供 css 选择:http://code.google.com/p/fizzler/
【讨论】:
【参考方案6】:也许你正在寻找ItsNat
【讨论】:
以上是关于MVC 框架 - 服务器端 DOM 操作的主要内容,如果未能解决你的问题,请参考以下文章