Goodday,
我一直在努力以XML格式存储数据,但我使用级别系统来允许用户访问某些数据而不是其他数据。但这发生在不同的周期中,数据被读取和写入不规则。这给了我以下错误:
其他信息:此操作会导致错误 结构化文件。
目前:
printf("%s", *animal)
这是完整的功能:
doc.Add(new XElement(UserLevel, new XElement(CommandName.Remove(0, 1), CommandInfo)));
我想要的是能够在具有不同CommandNames的同一UserLevel下写入文件,然后持有不同的CommandInfos。后来我打算能够编辑CommandInfo,所以我必须覆盖已编写的内容。
有谁知道我在找什么?因为我不知道自己......
感谢阅读, Farcrada
答案 0 :(得分:2)
XML文档只能有一个根元素,而您似乎尝试添加多个根元素。只需创建一个顶级元素,例如Users
,然后将UserLevel
添加为其子元素。
这样的事情:
private bool SetCommands(string CommandName, string CommandInfo, string UserLevel)
{
if (GetCommand(CommandName) == "none")
{
XDocument doc = new XDocument();
if (File.Exists(XmlFileLocation))
doc = XDocument.Load(XmlFileLocation);
var users = doc.Root.Element("Users");
if (users == null)
{
users = new XElement("Users");
doc.Add(users);
}
users.Add(new XElement(UserLevel, new XElement(CommandName.Remove(0, 1), CommandInfo)));
doc.Save(XmlFileLocation);
return true;
}
else
{
return false;
}
}