Windows Phone with XML file
本文关键字:file XML with Phone Windows | 更新日期: 2023-09-27 18:15:50
我试着从xml文档填充一个"ListPicker"。如果xml只有一个标签"producto",ListPicker将正确显示其他属性。但是如果有多个TAG"producto",则错误是"有多个根元素"。第7行,第2位".
我应该如何写代码显示所有标签" producto "?
XML:<produto>
<codigo>1</codigo>
<descricao>Janela</descricao>
<valor>100.00</valor>
</produto>
<produto>
<codigo>2</codigo>
<descricao>Porta</descricao>
<valor>120.00</valor>
</produto>
<produto>
<codigo>3</codigo>
<descricao>Alambrado</descricao>
<valor>80.00</valor>
</produto>
代码: private void locChoice(object sender, RoutedEventArgs e)
{
IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication();
string filePath = "im.xml";
if (store.FileExists(filePath))
{
try
{
XDocument doc = XDocument.Load(store.OpenFile("im.xml", FileMode.Open)); ;
ProdutoLpk.ItemsSource = from query in doc.Descendants("produto") select query.Value;
// string fileData;
// using (IsolatedStorageFileStream isoStream =
// new IsolatedStorageFileStream("it.xml", FileMode.Open, store))
// {
// using (StreamReader reader = new StreamReader(isoStream))
// {
// fileData = reader.ReadToEnd();
// }
// }
// this.ProdutoLpk.ItemsSource = fileData.Split(';');
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
ProdutoLpk.Open();
Debug.WriteLine(ProdutoLpk);
}
private void Button_Enviar(object sender, RoutedEventArgs e)
{
String dados = "'nProduto: " + ProdutoLpk.SelectedItem + "'nQuantidade: " + Qtd.Text;
MessageBox.Show(dados);
lista.Text = Qtd.Text + " " + ProdutoLpk.SelectedItem;
}
错误消息表明问题出在XML中,而不是在解析XML的c#代码中。有效的XML只能有一个最外层的标记(根元素)。
尝试通过将XML包装在单个根元素中来修复XML,例如:
<produtos>
<produto>
<codigo>1</codigo>
<descricao>Janela</descricao>
<valor>100.00</valor>
</produto>
<produto>
<codigo>2</codigo>
<descricao>Porta</descricao>
<valor>120.00</valor>
</produto>
<produto>
<codigo>3</codigo>
<descricao>Alambrado</descricao>
<valor>80.00</valor>
</produto>
</produtos>
您必须通过xml
中的elements
才能获得标签。
,
foreach(var word in xml.Root.Element("produto").Elements());
要了解更多信息,请参考以下详细信息:
http://social.msdn.microsoft.com/forums/en us/a88dea86 ded6 - 4149 a57f b586b53940be/get -元素标签- - xml文件使用c?forum=xmlandnetfx
在字符串数组中导入XML - Windows Phone 7
希望有帮助!