【发布时间】:2014-11-01 10:13:53
【问题描述】:
所以我用 C# 制作了一个音乐播放器。当用户打开一首歌曲时,我希望将其保存到一个 xml 文件中(它保存它的路径、名称和持续时间)。每当我尝试将值发送到进行保存的库时,我都会收到此错误。
MusicLibraryWriter.DatabaseWriter+MyException: System.ArgumentException: Invalid name character in 'Song file path'. The ' ' character, hexadecimal value 0x20, cannot be included in a name.
这是我的代码:
public string addToDatabasedataBaseInfo( songInfo dataToWrite)
{
try
{
string newSongPath = dataToWrite.songFilePath;
XmlWriter databaseWriter = XmlWriter.Create("databaseEdit.xml");
databaseWriter.WriteStartDocument();
databaseWriter.WriteStartElement("Songs");
databaseWriter.WriteElementString("Song file path", newSongPath);
databaseWriter.WriteElementString("Song duration", dataToWrite.songDuration.ToString());
databaseWriter.WriteEndElement();
databaseWriter.WriteEndDocument();
databaseWriter.Close();
//databaseWriter.Dispose ();
mergeDataBase();
return "Success";
}
catch (Exception e)
{
throw new MyException(e.ToString());
}
}
【问题讨论】:
-
dataToWrite.songFilePath 使用时包含空字符串?
-
@MarvinSmit:那很好 - 问题在于元素 name。
-
Doh。太明显了,我错过了。 :) XML 元素名称中不允许有空格。