私は Windows Phone 8 の開発に関しては初心者で、開発中のアプリケーションの一部としていくつかのことをいじっています。
現在、RuneScape 07 High Scores - http://services.runescape.com/m=hiscore_oldschool/hiscorepersonal.ws?user1=zezimaなどの Web サイトから情報を解析しようとしています。
HTML Agility Pack を使用していて、一部のデータ (Woodcutting まで) を解析できますが、渡されたものが表示されませんか? (それは私の ListBox のサイズまで減っていますか?)
理想的には、次のように 1 つのブロックではなく、テーブル情報を個別に解析できるようにしたいと考えています。
public MainPage()
{
InitializeComponent();
HtmlWeb.LoadAsync("http://services.runescape.com/m=hiscore_oldschool/hiscorepersonal.ws?user1=zezima", DownLoadCompleted);
}
void DownLoadCompleted(object sender, HtmlDocumentLoadCompleted e)
{
if(e.Error == null)
{
HtmlDocument doc = e.Document;
if (doc != null)
{
var result = doc.DocumentNode.SelectNodes("//div[@id='contentHiscores']");
foreach (var htmlNode in result)
{
lBox.Items.Add(htmlNode.InnerText);
}
}
}
しかし、このような個々のテーブルにアクセスしようとすると、
var result = doc.DocumentNode.SelectNodes("//div[@id='contentHiscores']/table/tbody/tr[5]/td[2]");
NullReferenceException が発生します。
これは可能ですか、それとも私は何か非常に間違っていますか?