【发布时间】:2012-05-10 07:26:11
【问题描述】:
在 Windows 窗体中,我在面板中有一些标签,我想显示来自 listBox1 的静态值,它从文件夹加载 (.rtdl) 文件的集合。
当用户选择每个时,我想在面板中显示相应的属性值到labels。
填充 listBox1 的代码:
private void Form1_Load(object sender, EventArgs e)
{
PopulateListBox(listBox1, @"C:\TestLoadFiles\", "*.rtdl");
}
private void PopulateListBox(ListBox lsb, string Folder, string FileType)
{
DirectoryInfo dinfo = new DirectoryInfo(Folder);
FileInfo[] Files = dinfo.GetFiles(FileType);
foreach (FileInfo file in Files)
{
lsb.Items.Add(file);
}
}
从 listBox1 读取文件的代码:
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
FileInfo file = (FileInfo)listBox1.SelectedItem;
DisplayFile(file.FullName);
string path = (string)listBox1.SelectedItem;
DisplayFile(path);
}
private void DisplayFile(string path)
{
string xmldoc = File.ReadAllText(path);
using (XmlReader reader = XmlReader.Create(xmldoc))
{
while (reader.MoveToNextAttribute())
{
switch (reader.Name)
{
case "description":
if (!string.IsNullOrEmpty(reader.Value))
label5.Text = reader.Value; // your label name
break;
case "sourceId":
if (!string.IsNullOrEmpty(reader.Value))
label6.Text = reader.Value; // your label name
break;
// ... continue for each label
}
}
}
}
当我选择文件时,它会在using (XmlReader reader = XmlReader.Create(xmldoc)) 处抛出此错误illegal characters in path。
请告诉我这里出了什么问题???
【问题讨论】:
标签: c# xml visual-studio-2010 parsing xmlreader