Windows Phone 8.0 SilverlightアプリケーションでHttpClientをHtmlAgilityパックで使用する。Windows Phone 8.0 Silverlight Appおよび欠落要素を扱うHTMLAgilityPack
ノード/イメージがHTMLのセクション内に含まれていない例外を管理する方法を知りたいと思います。
たとえば、これは情報を取得しているHTMLのスニペットです。
<PARENT>
<div class="game-c">
<div class="boxshot">
<img class="cover" src="http://cover_source" />
</div>
<h3 class="h3 white-c">Game Title ...</h3>
<p>Game description goes here...</p>
<p>...</p>
<div class="cta-signedOut">...</div>
<div class="cta-signedIn">
<a href="https://link.to.store">
<img src="gameImage.gif" /></a>
</div>
</div>
</PARENT>
3番目のdiv(cta-signedIn)からimg srcが必要です。ただし、特定の日付の場合、最後の2つのdivはコメントアウトされています。だから、コードは次のようになります。
<PARENT>
<div class="game-c">
<div class="boxshot">
<img class="cover" src="http://cover_source" />
</div>
<h3 class="h3 white-c">Game Title ...</h3>
<p>Game description goes here...</p>
<p>...</p>
**<!--<div class="cta-signedOut">...</div>
<div class="cta-signedIn">
<a href="https://link.to.store">
<img src="gameImage.gif" /></a>
</div-->**
</div>
</PARENT>
理想的には、これらの2つのdivのがコメントアウトされているとき、私は/Assets/Images/Unavailable.png
にローカルに位置しています私自身のイメージファイルを使用したいですそして、次のコードが情報を見つけるのに正しいことを確認できますか?
div.SelectSingleNode("//div[3]/a/img").Attributes["src"].Value;
ありがとうございます。
27/03/2016 - 以下を追加しました:
私は、次のコードを使用していますが、それはローカルの画像をロードしません。
私は次のことをしようとしているが、それは動作しません...
var img = div.SelectSingleNode("div[@class='cta-signedIn']/a/img");
var img2 = ("/Assets/Images/storeLogo_unavailable.png");
if (img == null)
{
newGame.StoreLink = img2;
}
else
{
newGame.StoreLink = div.SelectSingleNode("div[@class='cta-signedIn']/a/img").Attributes["src"].Value;
}
また、何らかの理由で、このコードは非常にゆっくりと実行されます。それに対する特別な理由は何ですか?
* "理想的には、これらの2つのdivがコメントアウトされている場合は、/Assets/Images/Unavailable.png"にローカルにある自分のイメージファイルを使用したいと考えています。何のためにあなた自身のイメージを使用しますか? – har07
さて、私は単純にイメージの存在を確認し、それに応じていくつかのロジックをしたいと思うと思います... – har07
私は私の元の投稿で曖昧だった場合は申し訳ありません。メインページ内には、上記のノードの内容にバインドされたイメージがあります。 HTMLに 'cta-signedOut'と 'cta-signedIn'の両方がある場合、画像は 'cta-signedIn'内のsrcの画像になります。しかし、2つの 'cta'クラスがない2番目の例では、画像をローカルに1つずつ取り込みたいと考えています。うまくいけば、それは私の質問をクリアする。これまでの助けてくれてありがとう。 –