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>

form要素の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 は null です。「DOCTYPE」に問題があると思います。この問題を解決するには?

4

1 に答える 1

1

formタグは一度しか発生しないので、このようなことを試してみませんか

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