C# 获取错误“;缺少根元素";当我尝试在textblock中获取标记时
我想从xml文件中获取标记,以在textblock中获取它 我的代码是:C# 获取错误“;缺少根元素";当我尝试在textblock中获取标记时,c#,xml,windows-runtime,C#,Xml,Windows Runtime,我想从xml文件中获取标记,以在textblock中获取它 我的代码是: private async void btnPlantel_Click(object sender, RoutedEventArgs e) { try { var doc = XDocument.Parse(txtnome.Text); var doc2 = XDocument.Parse(txtshirtnumber.
private async void btnPlantel_Click(object sender, RoutedEventArgs e)
{
try
{
var doc = XDocument.Parse(txtnome.Text);
var doc2 = XDocument.Parse(txtshirtnumber.Text);
StorageFolder storageFolder = Package.Current.InstalledLocation;
StorageFile storageFile = await storageFolder.GetFileAsync("players2.xml");
txtnome.Text = await FileIO.ReadTextAsync(storageFile, Windows.Storage.Streams.UnicodeEncoding.Utf8);
txtshirtnumber.Text = await FileIO.ReadTextAsync(storageFile, Windows.Storage.Streams.UnicodeEncoding.Utf8);
txtnome.Text = (string)doc.Root.Element("name");
txtshirtnumber.Text = (string)doc2.Root.Element("shirtnumber");
}
catch (Exception ex)
{
txterror.Text = ex.Message;
}
}
xml是:
<player>
<name>Ricardo Ferreira Rodrigues</name>
<shirtnumber>1</shirtnumber>
</player>
里卡多·费雷拉·罗德里格斯
1.
但是我在txtbox中得到的只是错误“根元素丢失”。有人能帮我吗?在从文件加载xml之前,请尝试解析xml(XDocument.parse)。无需读取文件两次,无需解析xml两次
事实上,您所有的代码都是加扰的,应该是这样的(未经测试)
步骤:
- 读取文本文件
- 使用XDocument.Parse解析xml
- 用xml文档中的值填充文本框
- 读取文本文件
- 使用XDocument.Parse解析xml
- 用xml文档中的值填充文本框
StorageFolder storageFolder = Package.Current.InstalledLocation;
StorageFile storageFile = await storageFolder.GetFileAsync("players2.xml");
string xml = await FileIO.ReadTextAsync(storageFile, Windows.Storage.Streams.UnicodeEncoding.Utf8);
var doc = XDocument.Parse(xml);
txtnome.Text = (string)doc.Root.Element("name");
txtshirtnumber.Text = (string)doc.Root.Element("shirtnumber");