3
我試圖打開和編輯Silverlight元素內的XML文件,但我無法編輯它。在Silverlight中編輯XML文件不起作用,但爲什麼?
我的XML文件(Customers.xml)看起來是這樣的:
<?xml version="1.0"?>
<customers>
<customer>Joe</customer>
<customer>Barrel</customer>
</customers>
而我的C#的邏輯:
[...]
XDocument xdoc = XDocument.Load("Customers.xml");
xdoc.Root.Add(new XElement("customer", "Stephano")); //here I wish it to add Stephano as a customer.
using (var file = IsolatedStorageFile.GetUserStoreForApplication())
{
using (var stream = file.OpenFile("Customers.xml", FileMode.Create))
{
xdoc.Save(stream); //and here I wish it to save it to the file
}
}
PopulateCustomersList();
/\這裏是一個函數即用來顯示XML文件的內容,它依次爲:
private void PopulateCustomersList()
{
XmlReaderSettings settings = new XmlReaderSettings();
settings.XmlResolver = new XmlXapResolver();
XmlReader reader = XmlReader.Create("Customers.xml");
reader.MoveToContent();
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element && reader.Name == "customer")
{
//OutputTextBlock.Text = reader.GetAttribute("first");
customersList.Items.Add(new ListBoxItem()
{
Content = reader.ReadInnerXml()
});
}
if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "customers")
{
break;
}
}
reader.Close();
}
在我的XAML文件我有
<ListBox x:Name="customersList" />
所以它被顯示,但問題是,只有喬和桶獲取要顯示在哪裏是Stephano?我知道這可能是一種奇怪的方式來做到這一點,但我只是不知道如何做到這一點,我試圖各種各樣的東西。最有趣的是,我在很多論壇上找到了一種保存文件的方式,看起來像這樣: xdoc.Save("Customers.xml");
但我的Visual Studio說參數是錯誤的,因爲它是一個字符串。我該如何告訴他它是一個文件?