HTMLAgilityPackを使用しています。私はこのようなものを持っています:
<div class="address">
<h3>Postadress</h3>
<div class="box-address">Box 27 </div>
<div class="post-address">
16493 KISTA
</div>
</div>
問題は他にもあります<div class="address">
。<h3>
そのため、 「Postaddress」というテキストの子を持つ子を見つける必要があります。抽出する必要があるのは、その値<div class="post-address">
が「16493KISTA」です。他に<div class="post-address">
も子供がいるレコードが返されますが、返されたくありません。私は<div class="post-address">
子供がなく、裸のテキストしか含まれていないものを探しています。
これまでの私の解決策は次のとおりです。
var postAddressdiv = doc.DocumentNode.SelectNodes("//div[@class='address']");
if (postAddressdiv != null)
{
foreach (HtmlAgilityPack.HtmlNode node in postAddressdiv)
{
HtmlNode postAddress;
var h3 = node.Descendants("h3");
if (h3 != null)
{
if (h3.First().LastChild.InnerHtml == "Postadress")
{
MessageBox.Show("right place you are.");
postAddress = node.SelectSingleNode("//div[@class='post-address']");
var postAddressChildren = postAddress.Descendants();
if (postAddressChildren == null)
MessageBox.Show("found one!!!!");
}
}
}
}
しかし、それは機能していません。私は何が間違っているのですか?ありがとう。