Html Agility Packを使用して、スパンの後のテキストをクラスで取得する


質問

私はこの構造を持っている

   <span class="glyphicon glyphicon-user"></span>
                         123                       <br>

私は "123"を取得したい

このコードは、存在する場合はタグの間に入ります

   <span class="glyphicon glyphicon-user"></span>
                         123                       <br>

しかし、私は "123"を取得したい

受け入れられた回答

これはこれまでに投稿されたHTMLのsinppetにのみ基づいて、1つの可能な方法です:

var query = "//span[@class='glyphicon glyphicon-user']/following-sibling::text()[1]";
var username = document.DocumentNode.SelectSingleNode(query);
Console.WriteLine(username.InnerText.Trim());

基本的に、XPathは特定のclass属性値を持つspanを探してから、そのspan後ろにある最も近いテキストノードを返しspan 。正確なニーズと実際のHTML構造によっては、より良い方法があるかもしれません。

dotnetfiddle demo

出力:

var query = "//span[@class='glyphicon glyphicon-user']/following-sibling::text()[1]";
var username = document.DocumentNode.SelectSingleNode(query);
Console.WriteLine(username.InnerText.Trim());




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