HTMLアジャイル・パックでDOMをトラバースする

.net asp.net c# html html-agility-pack

質問

私はHTMLAgilityPackライブラリを使ってC#でHTML DOMを解析していますが、特定の要素に到達したらDOMをどのようにトラバースするかを知りたいと思います。

例えば、あるクラスのクラスでtdに行くと、3番目の兄弟のtdに行き、ネストされたanchor hrefを取得したいと考えています。

<td class="some-class">Content I care about</td>
<td>Content I don't want</td>
<td>Content I don't want</td>
<td>    
    <a href="http://www.the-url-I-want.com">Some Amazing URL</a>
</td>

現在、私はに着陸していtd私は経由してほしいです:

<td class="some-class">Content I care about</td>
<td>Content I don't want</td>
<td>Content I don't want</td>
<td>    
    <a href="http://www.the-url-I-want.com">Some Amazing URL</a>
</td>

誰もがHTMLAgilityパックを使用して個々のtd関連アンカーを取得する方法を知っていますか?

人気のある回答

XPathを学び、あなたの仕事はずっと簡単になります。たとえば、クラス属性が「some-class」の<td>要素を取得するには、このXpathを使用します。

//td[@class='some-class']

そして3番目の兄弟<td>を得るために:

//td[@class='some-class']

だからあなたのループは次のように書き直すことができます:

//td[@class='some-class']

GetAttributeValue()値を取得するより安全な方法は、 GetAttributeValue()メソッドをGetAttributeValue()しています:

//td[@class='some-class']

2番目の引数は、属性が見つからないときに返されるデフォルト値です。




ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ