0

我们使用构建在 ASP.NET MVC 之上的自定义框架在运行时从我们的对象模型生成 HTML,而无需编写任何视图。这种方法在允许快速应用程序开发和跨多个应用程序保持统一的外观和感觉方面取得了成功。

然而,对于我们当前应用程序中的几个页面,该框架一直在生成没有内容的无关 h2 和 h3 标签,这将导致应用程序无法通过 QA 测试。

唯一可行的长期解决方案是修复框架。但是我们应该在几天后去 QA,我很想使用正则表达式从呈现的 HTML 中去除有问题的标签。

我意识到这是一个杂项,但它作为一个短期解决方案是否可行,直到我们弄清楚为什么框架行为不端?请注意,我的小组(构建应用程序)与维护框架的小组不同。后一组可能会在明天解决这个问题,或者他们可能会在一个月内解决它——我无法控制时间。

几点考虑:

  1. 通常不赞成使用正则表达式来处理 HTML。但是,虽然我知道正则表达式不足以处理解析任意 HTML 的一般情况,但使用正则表达式来修改预先知道确切结构的 HTML 真的有那么大的问题吗?

  2. 鉴于每次页面加载时都会执行此步骤,这可能会产生显着的性能成本吗?我们正在考虑在这里去掉两个或三个标签。

提前致谢!

4

2 回答 2

3
  1. 请记住,您的正则表达式不知道您在特定位置只有 2 或 3 个替换,并且会处理所有 html 内容。还要记住,如果你想删除类似的东西<h2></h2>或者<h3></h3>你不需要正则表达式,你可以使用简单的字符串替换。如果您知道这些标签在树中的位置,您可以轻松地使用 xpath 或任何 DOM 功能来查找并删除它们。您必须进行测试以找到最佳方法。
于 2013-05-19T13:21:59.050 回答
0

在 QA 测试中作弊以隐藏另一个小组的问题?QA 正是应该发现此类问题以便纠正它们的东西。

另一方面,让 QA 文本为空标签同样很糟糕,但让我们暂时忽略它:

  1. 如果您知道要删除的确切内容,则可以使用正则表达式。使用已编译的正则表达式(简单且编写正确),它们的行为与简单的字符串搜索一样快。

  2. 对性能的影响可以忽略不计。它只是为了让你通过 QA,对吗?... 正确的?

于 2013-05-19T13:47:12.380 回答