質問: doc.DocumentNode.SelectSingleNode("//div[@NSE:]"); ``` しかし、これは正しく見えません。助けていただければ幸いです。
回答: 最初の選択のXPathは、「tim_newの値を持つclassという名前の属性を持つすべてのドキュメント要素を選択します」と読みます。角かっこの中のものはあなたが返すものではなく、検索に適用する基準です。 私はHTML Agilityパックを持っていませんが、 "NSE:"をテキストとして持つdivをクエリしようとすると、2番目のクエリのXPathは "// div"になります。 LINQを使用します。 何かのようなもの ``` var nodes = doc.DocumentNode.SelectNodes("//div[text()]").Where(a => a.InnerText.IndexOf("NSE:") > -1); ``` だから英語では、 "すぐにテキストを含むdiv要素をすべてLINQに返し、内部のテキスト値にNSEが含まれていることを確認してください:"繰り返しますが、構文が完璧であるかどうかはわかりませんが、それがアイデアです。 XPath "// div [@NSE:]"は、属性名に ":"が使用できないため、いずれの場合でも不正なNSE:および名前を持つすべてのdivを返します。あなたはその要素のテキストではなく、その属性のテキストを探しています。 希望は助けます。 注:両方のテキストに`NSE: some textNSE: more text`ようなテキストが含まれているネストされた`NSE: some textNSE: more text`場合は、重複した結果が得られる`NSE: some textNSE: more text`