2

我有这个 html

<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<div style="background: #5b7fa6; padding: 2px 3px 3px 3px; border-bottom: 1px solid #6f91bb;">
<b style="color: #FFFFFF;">Gain Access to VK</b>
</div>
<div style="border-top: 1px solid #4a6a91; padding:10px;">
<div style="background: #ffffff; border: 1px solid #adbbca; padding: 5px;'">
<form method="POST" action="https://login.vk.com/?act=login&amp;soft=1&amp;utf8=1">
</form>
</div>  
</div>
</body></html>

我想在表单元素中获取 action 属性的值。我使用这段代码

    HtmlNode formNode = htmlDoc.DocumentNode.SelectSingleNode("html/body/div[2]/div/form");
    if (formNode != null)
    {
        var action = formNode.GetAttributeValue("action", string.Empty);
        if(!string.IsNullOrEmpty(action))
        {
            //to do 
        }
    }

但 formNode 为空。我认为'DOCTYPE'中的问题。如何解决这个问题呢?

4

1 回答 1

1

因为form标签只出现一次为什么不尝试这样的事情

HtmlNode formNode = htmlDoc.DocumentNode.SelectSingleNode("//form");
于 2012-06-14T12:46:57.567 回答