Использование HttpClient с пакетом HtmlAgility в приложении Windows Phone 8.0 Silverlight.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>
Мне нужен img src из третьего div (cta-signedIn). Однако, для определенных дат, последние два div's закомментированы. Таким образом, код выглядит следующим образом:
<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>
В идеале, когда эти два 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;
}
Кроме того, по какой-то причине этот код выполняется очень медленно. Какая-то конкретная причина для этого?
* «В идеале, когда эти два элемента div закомментированы, я хотел бы использовать свой собственный файл изображения, который локально находится в /Assets/Images/Unavailable.png"*. Используйте свой собственный образ для чего? – har07
Хорошо, я полагаю, вы просто хотите проверить наличие изображения и сделать некоторую логику соответственно ... – har07
Извините, если я был расплывчатым в своем оригинальном посте. На главной странице у меня есть изображение, связанное с содержимым узла выше. Когда в HTML есть как «cta-signedOut», так и «cta-signedIn», изображение будет иметь вид src внутри «cta-signedIn». Однако во втором примере, где отсутствуют два класса «cta», я хочу, чтобы изображение было заполнено одним локально. Надеюсь, это прояснит мои вопросы. Спасибо за помощь до сих пор. –