在 XML 设置文件中创建字符串列表
Posted
技术标签:
【中文标题】在 XML 设置文件中创建字符串列表【英文标题】:create string list in XML settings file 【发布时间】:2012-02-01 01:26:20 【问题描述】:将字符串列表保存到设置文件的最佳方法是什么?我已经看到了一些将 xml 设置文件类型编辑为字符串 [] 的解决方案,但我可以让它在编辑器中工作。
我也不知道在运行时会添加多少字符串,而且会很多,所以我不想在这里定义一堆命名字符串。但我仍然想保存它们并在下次打开应用程序时访问它们。
我看到设置类型中有一个System.Collections.Specialized.StringCollection
,这是我想要的吗?如果有一种方法可以将数组保存到 XML 中也可以。
【问题讨论】:
【参考方案1】:这是一个简单的 XML 编写器脚本。 (未经测试)
var stringArray = new string[100]; //value of the string
var stringArrayIdentifier = new string[100]; //refers to what you will call the field
//<identifier>string</identifier>
var settings = new XmlWriterSettings
Indent = true, IndentChars = "\t", NewLineOnAttributes = false;
using (XmlWriter writer = XmlWriter.Create("PATH", settings))
writer.WriteStartDocument();
foreach (int i = 0; i < stringArray.Length; i++)
writer.WriteStartElement(stringArrayIdentifier[i]);
writer.WriteString(stringArray[i]);
writer.WriteEndElement();
writer.WriteEndDocument();
javascriptSerializer.Serialize() 也会做你想做的事,但用途有限。如果您想要的只是简单,请使用 JavaScriptSerializer.Serialize()。
【讨论】:
嗯,比我希望的要多一点。最终创建了一个字符串,用一个字符分隔,然后将该字符串拆分为一个数组。我知道这不是最好的主意,但我只是需要它来度过难关,哈哈。我会在下一个项目中尝试你的想法。【参考方案2】:也许这个问题How to store int[] array in application Settings 会有所帮助。如果您正在寻找一种快速简便的方法,您可以尝试将集合序列化为 json。
var serializer = new JavaScriptSerializer();
var myArray = new []"one", "two", "three";
var myString = serializer.Serialize(myArray);
// Now you can store myString in the settings file...
【讨论】:
以上是关于在 XML 设置文件中创建字符串列表的主要内容,如果未能解决你的问题,请参考以下文章
如何根据 .txt 文件中的关键字在 Python 中创建列表?
使用正则表达式从文件名中创建一个包含多个可能字符串的列表[重复]
如何在 markdown frontmatter 中创建字符串列表?
Android Studio 在 XML 自动完成中创建 HTML 标签