因此,我開始學習如何在應用程序中使用XML數據,決定使用一些免費的數據來做到這一點,但我不能爲我的生活得到它的工作,這是迄今爲止我的代碼。 (我已經做了靜態數據的一些應用程序之前,但嘿應用程序的設計使用網絡的權利:P)深入研究XML(Windows Phone)的錯誤我不明白(''字符,十六進制值0x20,不能包含在名稱中。)
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的noob並將其作爲數據源從網上拉下來)
也許我開始了太複雜:/
還在爲如何從進料拉一些元素任何幫助/提示(因爲所有後代)正確,並將其儲存將是巨大的:d
EDIT2: 我有工作(粗糙的方式),但仍然:D
感謝Adam M阿拉!
最後一個問題是雙重上市。 (將它添加到列表中,然後將它添加到另一個列表導致一個空的異常)只需使用方法中的1列表解決了這個問題(可能不是最好的方法,但它現在可行),並允許我將結果添加到列表框中,直到我花費一些時間研究如何使用ListBox.ItemTemplate & DataTemplate使其看起來更具吸引力。 (看起來很簡單,我現在說...)
再次感謝!
我知道這將是簡單的事情...將在一分鐘內嘗試。 再次感謝! – MajorShots
是的,錯誤消失了,但仍然沒有出現。我「認爲」這是因爲XML佈局和它的後代數量(無法解決我需要做的事情,即作爲XML的noob並將其作爲數據源從網上拉下來) 也許我開始太複雜了:/ 仍然任何幫助/提示如何從飼料中拉出一些元素(因爲所有在後代)正確並存儲他們將是巨大的:D – MajorShots
@ ThatUser1我已經根據你的新問題修改了我的答案。 –