2013-02-08 49 views
0

C# - 我正在使用Web浏览器控件,因为我的应用程序需要Web页面的UI,它允许编辑Html文件并作为项目,将搜索所有项目页面包含当前选中的元素。如何检查Html文档中是否存在HtmlElement

选择以查看任何给定的元件的外的Html看起来不错,但是任何大于1点的属性和文本的顺序颠倒如下:

来自:

<a href="Misc/coralifeaqualight.comcoralife-bulbs/" class="link-post-on-header">Coralife Bulbs</a> 

到:

<a class="link-post-on-header" href="Misc/coralifeaqualight.comcoralife-bulbs/">Coralife Bulbs</a> 

所以,我需要知道,有没有办法从扭转他们的内容,所以它仍然符合HTML源代码查看时,或停止HTML元素是有来检查整个的HTMLDocument的快捷方式(System.Windows.Forms)给定的HtmlElement,所以它不会有问题?

回答

0

此解决方案不会赢得美容奖励,但... 它可以完成这项工作。如果我理解得很好,您想检查2个文档中是否存在html元素? Mayby验证属性会完成这项工作吗?

static bool FindElementsByClassAndHref(HtmlDocument doc, string className, string href) 
{ 
    foreach (HtmlElement e in doc.All) 
    if (e.GetAttribute("className") == className && e.GetAttribute("href") == href) 
     return true; 
} 
+0

我真的希望没有回去的方法,我做了前一段时间比较类似这样的要素,抓住了最常见的,然后,只要它们都匹配,甚至是空条目 - 它必须是相同的元素。叹息 - 如果元素的文本在从DocumentText转换为HtmlElement时没有改变,我就不会有这个该死的问题了。 –

+0

你已经可以找到链接的2个实例了吗? Mayby你可以检查URL的字符数..或类似的.. 但我不会那样做..你不太确定你的情况.. .. – spons

相关问题