我们使用基于ASP.NET MVC构建的自定义框架,在运行时从我们的对象模型生成HTML,而无需编写任何视图。这种方法成功地允许快速应用程序开发并在多个应用程序中保持统一的外观。
对于我们当前应用程序中的几页,该框架已生成无内容的无关h2和h3标签,这将导致应用程序无法进行QA测试。
唯一可行的长期解决方案是修复框架。但是我们应该在几天内去QA,我很想使用正则表达式去除渲染HTML中的违规标签。
我意识到这是一个kludge,但它是否可行作为短期解决方案,直到我们弄清楚为什么框架行为不端?请注意,我的组(构建应用程序)与维护框架的组不同。后一组可能明天解决问题,或者他们可能在一个月内解决问题 - 我无法控制时间。
一些注意事项:
通常不赞成使用正则表达式来处理HTML。但是,虽然我理解正则表达式不足以处理解析任意HTML的一般情况,但使用正则表达式来修改其确切结构事先知道的HTML真的有问题吗?
鉴于每次页面加载都会执行此步骤,是否会有显着的性能成本?我们正在考虑在这里删除两个或三个标签。
提前致谢!
答案 0 :(得分:3)
<h2></h2>
或<h3></h3>
之类的内容,则不需要正则表达式,您可以使用简单的字符串替换。如果您知道这些标记在树中的位置,则可以轻松使用xpath或任何DOM功能来查找它们并将其删除。你必须进行测试以找到最佳方法。答案 1 :(得分:0)
在QA测试中作弊以隐藏其他组的问题? QA正是应该找到这类问题的东西,以便纠正它们。
另一方面,让QA文本为空标签有点同样糟糕,但让我们忽略一点:
如果您知道要删除的确切内容,请使用正则表达式。使用已编译的正则表达式(简单且正确编写),它们的行为与简单的字符串搜索一样快。
性能影响可以忽略不计。它只是让你通过QA,对吧? ......对吧?