【问题标题】:XPath + Firebug +XML/HTML +HTML AgilityPack C#XPath + Firebug +XML/HTML +HTML AgilityPack C#
【发布时间】:2010-12-25 20:50:16
【问题描述】:

使用 Firebug 或某些小书签时:

javascript:(function(){var a=document.createElement("script");a.setAttribute("src","http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js");if(typeof jQuery=="undefined"){document.getElementsByTagName("head")[0].appendChild(a)}(function(){if(typeof jQuery=="undefined"){setTimeout(arguments.callee,100)}else{jQuery("*").one("click",function(d){jQuery(this)[0].scrollIntoView();for(var e="",c=jQuery(this)[0];c&&c.nodeType==1;c=c.parentNode){var b=jQuery(c.parentNode).children(c.tagName).index(c)+1;b>1?(b="["+b+"]"):(b="");e="/"+c.tagName.toLowerCase()+b+e}window.location.hash="#xpath:"+e;prompt('Twoje wyrazenie:',e);d.preventDefault();d.stopPropagation();jQuery("*").unbind("click",arguments.callee)})}})()})();

我收到一个 HTML 的 XPath。为了通过 HTML Agility Pack 或 Sgml 解析 HTML,我需要将其转换为 XHTML (XML)。 但问题是(我认为)XHTML 的 XPath 与 HTML 的 XPath 不同。 这就是为什么 Firebug 的“XPath Copy”功能在与

一起使用时不起作用的原因
HtmlNode valueNode = doc.DocumentNode.SelectSingleNode(Firebugs_XPath);

例如,firebug/bookmarklet 提供(如果我删除 tbody 将无济于事):

/html/body/div[2]/table/tbody/tr/td[2]/table/tbody/tr[2]/td[2]/form/table/tbody/tr[2]/td/div/table/tbody/tr/td[2]/table/tbody/tr[2]/td[2]/u

正确的代码是(给予或接受):

/html/body/div/table/tr[1]/td[2]/table/tr[1]//td[2]/table[2]/tr[1]//td[2]/table/tr/tr/td[2]/u

我的问题是 - 如何修复该行为,以使 firebugXpath->HtmlAgilityPack 工作。 并且 - 这可能吗,使用带有内置 C# WebBrowser 组件的书签。

非常感谢您的帮助。

【问题讨论】:

    标签: c# xpath


    【解决方案1】:

    Firebug 对您的标记的表示可能与实际的 XHTML 不同,因为它试图规范化标记,这就是 XPath 查询生成的依据,而不是实际的底层 XHTML。我不确定是否可以更改此行为,您可能只需要手动调整 XPath。

    【讨论】:

      【解决方案2】:

      我在尝试使用 firebug 和 chrome 以及 ie 的开发工具获取正确的 xpath 时遇到了同样的问题,因此我使用 HTML 敏捷包编写了一个应用程序来查找 xpath。

      http://letschat.info/?p=23

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-04-11
        • 1970-01-01
        • 2017-04-30
        • 1970-01-01
        • 2014-06-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多