更新
我正在寫一個Silverlight應用程序,我有以下的類「家」,此一等級讀取.XML文件寫這些給一個列表框。在另一個類中概述我將顯示相同的.xml文件。我知道在類「Home」中編寫相同的代碼是很愚蠢的。河段功能
問題是,如何達到這些數據。
我的問題是如何從另一個類重用方法LoadXMLFile()?
代碼。
//讀取類中的「家」
public void LoadXMLFile()
{
WebClient xmlClient = new WebClient();
xmlClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(XMLFileLoaded);
xmlClient.DownloadStringAsync(new Uri("codeFragments.xml", UriKind.RelativeOrAbsolute));
}
private void XMLFileLoaded(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error == null)
{
string xmlData = e.Result;
XDocument xDoc = XDocument.Parse(xmlData);
var tagsXml = from c in xDoc.Descendants("Tag") select c.Attribute("name");
List<Tag> lsTags = new List<Tag>();
foreach (string tagName in tagsXml)
{
Tag oTag = new Tag();
oTag.name = tagName;
var tags = from d in xDoc.Descendants("Tag")
where d.Attribute("name").Value == tagName
select d.Elements("oFragments");
var tagXml = tags.ToArray()[0];
foreach (var tag in tagXml)
{
CodeFragments oFragments = new CodeFragments();
oFragments.tagURL = tag.Attribute("tagURL").Value;
//Tags.tags.Add(oFragments);
oTag.lsTags.Add(oFragments);
}
lsTags.Add(oTag);
}
//List<string> test = new List<string> { "a","b","c" };
lsBox.ItemsSource = lsTags;
}
}
您的函數下載XML,但不會返回它,所以值就會丟失。不確定它的意義。 – Oded 2011-06-05 19:58:13
這就是整個問題。我不知道如何返回我的.xml文件的結果... – user 2011-06-06 07:55:09
如果你不知道如何編寫一個函數,所以它返回一個值,我認爲你需要選擇一個基本的C#編程書籍。 – Oded 2011-06-06 07:57:41