質問

HTMLの敏捷性パックを使用すると、子孫と全体のテーブルなどを取得するための素晴らしいです...しかし、どのようにあなたはそれが以下の状況で使用することができます。

...Html Code above...

<dl>
<dt>Location:</dt>
<dd>City, London</dd>
<dt style="padding-bottom:10px;">Distance:</dt>
<dd style="padding-bottom:10px;">0 miles</dd>
<dt>Date Issued:</dt>
<dd>26/10/2010</dd>
<dt>type:</dt>
<dd>cement</dd>
</dl>

...HTML Code below....

マイルは、このケースでは15未満だった場合、どのように見つけることができる、私はあなたが要素で何かができるundestandができますが、すべての要素が正しいものを見つけ、そしてちょうどその値を確認するために数を見つける取得する必要がありますでしょうか?またはより良い方法でこれを達成するための敏捷性パックで使用する正規表現への道があるさ...

役に立ちましたか?

解決

あなたの場合は(単純)だけで使用following-sibling:: -

私は、それが"dt[.='Distance:']"軸をサポートしていること(チェックしていない)かなり確信してあなたがのいずれかのノードnode.SelectSingleNode("following-sibling::dd[1]")を検索し、node.NextSiblingを見つけることができるようです必ずddはいつもすぐにdtに従うことです。

例えば、

string distance = doc.DocumentNode.SelectSingleNode(
          "//dt[.='Distance:']/following-sibling::dd").InnerText;

他のヒント

Get just html simblings



public static List<HtmlNode> GetHtmlNodeList(string html)
    {
        HtmlDocument doc = new HtmlDocument();
        doc.LoadHtml(html);
        var regs = doc.DocumentNode.SelectSingleNode("//div");
        var first = regs.Descendants().FirstOrDefault();
        var second = first.NextSibling;
        List<HtmlNode> list = new List<HtmlNode>();
        while (second != null)
        {
            list.Add(second);
            second = CheckSibling(second);
        }
        return list;
    }
    private static HtmlNode CheckSibling(HtmlNode node)
    {
        node = node.NextSibling;
        return node;          
    }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top