我有这样的XML文件
xxxx xxx xxxxx xxxx xxx xxx true true true true
我正在使用它作为我的代码的配置文件,我想要检索它们的值(innerText)
bool logEnable = value comes from XML (logEnable) bool warningEnable = value comes from XML (warningEnable) bool errorEnable = value comes from XML (errorEnable) bool generalEnable = value comes from XML (generalEnable)
那么如何读取它们的值以将它们分配给布尔变量,如果我想用false改变它们的一个值,我怎么能这样做呢?
谢谢...
问候...
Ps:如果你写了更多的解释性代码,那将非常感激.
再次感谢...
public class Options { public string UserName { get; set; } public string Password { get; set; } public string DisplayName { get; set; } public string HostAddress { get; set; } public bool SSL { get; set; } public string Port { get; set; } public bool LogEnable { get; set; } public bool GeneralEnable { get; set; } public bool WarningEnable { get; set; } public bool ErrorEnable { get; set; } public static Options Load(string path) { Options options = new Options(); XmlDocument xml = new XmlDocument(); xml.Load(path); XmlNodeReader input = new XmlNodeReader(xml); while (input.Read()) { var elementname = input.Name.ToLower(); switch (elementname) { case "username": options.UserName = input.Value; break; // all other cases case "logenable": options.LogEnable = Boolean.Parse(input.Value); break; // continue with other cases } } } public static void Save(Options options, string path) { XmlTextWriter writer = new XmlTextWriter(path); xmlWriter.WriteStartDocument(true); xmlWriter.WriteStartElement("configuration"); xmlWriter.WriteStartElement("emailConfiguration"); xmlWriter.WriteStartElement("userName"); xmlWriter.WriteString(options.UserName); xmlWriter.WriteEndElemement(); // continue for all elements xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("logConfiguration"); xmlWriter.WriteStartElement("logEnable"); xmlWriter.WriteString(options.LogEnable.ToString()); xmlWriter.WriteEndElemement(); // continue for all elements xmlWriter.WriteEndElement(); xmlWriter.WriteEndElement(); xmlWriter.Close(); } }
我留下了一些工作要你完成;)另外,我没有写这个是Visual Studio,我没有事先编译它.此代码按原样提供,不作任何担保或保证.;)
这是.NET中的基本XML读/写过程,尽管有很多选项.您可以使用XPath查询,或者如果您使用的是.NET 3.5,则可以使用Linq to Sql,这将为您提供酷炫的孩子.但是上面的示例应该可以帮助您快速启动并运行,只是承诺您将对这些其他事情进行一些研究,您将会更好.