1

开发服务器端代码我终于看到了我的眼睛 X-crossed 试图编写 - 然后当然理解 - 表单或其他 html 代码,其中双引号内的文本字符串(属性)必须出现在标记字符串(标记)中正确打开和关闭; 但通常必须实例化撇号内的 javascript 文本,经常引用其他文本(当然,在引号内)或实例化必须放置在语言相关标记中的计算值

这是一团糟,是通向失明和疯狂的主要道路,也是浪费我时间试图弄清楚为什么表格中的最后一个单元格在表格标题之前呈现的肯定方法 - 当然,我错过了一串撇号512 个字符。在尝试重新发明轮子,制作一些 API 来管理无法管理的问题之后,我看到了这个可能的解决方案:好吧,该死的 xhtml 实际上是 XML。那么为什么不使用 XMl 解析器(在服务器上)从头开始创建文档片段,根据我的意愿添加子节点来填充它,然后让解析器序列化所有片段树,处理诸如打开和关闭标记等愚蠢的细节,添加撇号和所有其他类似的东西?仅在后台使用它应该保持服务器上的低工作量 - 这个星球上只有少数人可以验证和访问重要的东西,所以对象的创建和释放是可以接受的。

我的问题是:您认为这是解决上述问题的好方法吗?也许我忽略了更简单的解决方案?有什么问题我没看到?是不是有点矫枉过正?具有讽刺意味的“恭喜,你终于明白了”被接受了。

谢谢!

4

4 回答 4

1

在服务器端动态构建 DOM,然后转储生成的 HTML(或 XHTML)是最严肃的服务器端技术所做的。也许他们不使用原始 XML 来做这件事——也许他们有自己的类结构/API 可以用来做这件事,但这是他们遵循的基本范式。

至于“恭喜,你终于明白了”,我会说你走在正确的道路上。您没有提到具体的技术,但我猜您一直在使用基本的 PHP 或 Perl 创建原始 HTML。恭喜,你最终完成了我们其他人所做的事情:想知道是否有更好的方法。我建议您研究一些重要的 Web 应用程序框架,例如 ASP.NET MVC、Ruby on Rails、Struts 或 Twisted。

于 2009-01-15T17:41:28.240 回答
0

是的,我正在使用框架的与 XML 相关的类来解析 XHTML,并创建 XHTML。

于 2009-01-15T17:29:20.777 回答
0

我认为具有讽刺意味的“恭喜,你终于明白了”是这里最合适的答案。XHTML 是 XML 的一个子集,因此任何 XML 工具都能够为您正确地完成这项工作,并允许您专注于内容,而不是内容的格式。

基本上,有更多的 XML 解析器和文档模型,你无法动摇。除非您对性能有特殊需求并且制作自定义 XML 字符串对您来说更有意义,否则使用这些库之一是最好的选择。

于 2009-01-15T17:30:44.613 回答
0

这正是 XSLT 的发明目的:将 XML 文档转换为 XML 文档而不会搞砸任何事情。一旦您了解了 XSLT(遗憾的是,这需要做一些事情),那些困扰您的问题现在就完全从您的生活中消失了。

于 2009-01-17T02:56:34.730 回答