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" />
表示されますが、問題は、ジョーとバレルしか表示されず、ステファノはどこですか?
さまざまなチュートリアルやフォーラムからこのコードを入手しましたが、よくわかりません。それを行うには奇妙な方法かもしれませんが、その方法を見つけることができず、あらゆる種類のことを試しています. 最も面白いのは、多くのフォーラムでファイルを保存する方法を見つけたことです。これは次のように
xdoc.Save("Customers.xml");
なります。それがファイルであることをどのように彼に伝えるべきですか?