0

だから私はアプリ内でXMLデータを使用する方法を学び始めており、これを行うために無料のデータを使用することに決めましたが、これまでのところ私のコードです。(私は以前に静的データを使用するいくつかのアプリを作成したことがありますが、アプリは Web を正しく使用するように設計されていますか? :p)

public partial class MainPage : PhoneApplicationPage
{
    List<XmlItem> xmlItems = new List<XmlItem>();
    // Constructor
    public MainPage()
    {
        InitializeComponent();
        LoadXmlItems("http://hatrafficinfo.dft.gov.uk/feeds/datex/England/CurrentRoadworks/content.xml");
        test();
    }

    public void test()
    {
        foreach (XmlItem item in xmlItems)
        {
            testing.Text = item.Title;
        }
    }

    public void LoadXmlItems(string xmlUrl)
    {
        WebClient client = new WebClient();

        client.OpenReadCompleted += (sender, e) =>
        {
            if (e.Error != null)
                return;

            Stream str = e.Result;
            XDocument xdoc = XDocument.Load(str);

            ***xmlItems = (from item in xdoc.Descendants("situation id")
                                                select new XmlItem()
                                                {
                                                    Title = item.Element("impactOnTraffic").Value,
                                                    Description = item.Element("trafficRestrictionType").Value
                                                }).ToList();***
            // close
            str.Close();

            // add results to the list
            xmlItems.Clear();
            foreach (XmlItem item in xmlItems)
            {
                xmlItems.Add(item);
            }
        };
        client.OpenReadAsync(new Uri(xmlUrl, UriKind.Absolute));
    }
}

私は基本的に、実際にそれを行う方法に興味をそそられているので、現時点でこれを行う方法を学ぼうとしています (多くの方法があることは知っていますが、ATM が最も簡単に思えます)。( *内のビットは、エラーが発生した場所です)

また、ATM の表示機能が優れていないこともわかっています (最後のアイテムしか表示されないため) が、テストでは今のところこれで十分です。

学習者にとってはまだそれほど簡単ではないので、これは簡単に思えるかもしれません。

写真形式のエラー: (画像を投稿できないようです:/)

助けてくれてありがとう

編集: 以下の回答でエラーが修正されました:Dしかし、まだ何も起きていません。XMLレイアウトとその子孫の量が原因だと「思います」(XMLの初心者であり、Webからデータソースとしてプルする必要があることを理解できません)

多分私はあまりにも複雑に始めています:/

フィードからいくつかの要素を正しくプルして保存する方法に関するヘルプ/ヒントはまだあります (すべて子孫にあるように) :D

Edit2: 私はそれを(大雑把な方法で)動作させていますが、それでも:D

ありがとうアダム・マラス!

最後の問題は二重上場でした。(リストに追加してから別のリストに追加すると、null 例外が発生していました) メソッド内で 1 リストを使用するだけで、この問題は解決されました (おそらく最善の方法ではありませんが、今のところは機能します)。 ListBox.ItemTemplate と DataTemplate を使用してより魅力的に見せる方法を検討するまで、結果をリストボックスに追加します。(私が今言うのは簡単に思えます...)

再度、感謝します!!!

4

1 に答える 1