C# 如何在XML文件中存储多个项以便于解析?
假设我有许多要存储的元素,如:C# 如何在XML文件中存储多个项以便于解析?,c#,.net,xml,C#,.net,Xml,假设我有许多要存储的元素,如: fruitList = "apple", "orange", "banana", "kiwi", ... 如何将这些存储在XML中 <FruitList>"apple", "orange", "banana", "kiwi"</FruitList> “苹果”、“橘子”、“香蕉”、“猕猴桃” 或 有更好的办法吗 无论选择哪种方法,如何轻松解析列表,以便在项目格式更改为以下格式时不需要更改解析: <FruitList>
fruitList = "apple", "orange", "banana", "kiwi", ...
如何将这些存储在XML中
<FruitList>"apple", "orange", "banana", "kiwi"</FruitList>
“苹果”、“橘子”、“香蕉”、“猕猴桃”
或
有更好的办法吗
无论选择哪种方法,如何轻松解析列表,以便在项目格式更改为以下格式时不需要更改解析:
<FruitList>
"apple",
"orange",
"banana",
"kiwi"
</FruitList>
“苹果”,
“橙色”,
“香蕉”,
“猕猴桃”
苹果
橙色
苹果
橙色
您签出XmlSerializer类了吗?这可能很有用,而且它肯定可以处理它生成的解析列表。(但不确定它是否正是您想要的。)您是否签出了XmlSerializer类?这可能很有用,而且它肯定可以处理它生成的解析列表。(不确定这是否正是你想要的。)在你的情况下,你可以
List<string> Fruits;
列出水果;
在类中某个将序列化为
<Fruits>
<string>Apple</string>
<string>Orange</string>
</Fruits>
苹果
橙色
我相信
对于更多涉及嵌套对象列表的内容,您可能希望将类声明为如下列表:
[Serializable]
public class Fruits: List<Fruit>
{
// empty public constructor to make it serializable
public Fruits()
{
}
// ...
}
[可序列化]
公共类水果:列表
{
//空公共构造函数以使其可序列化
公众水果()
{
}
// ...
}
有些情况下,您无法将列表直接放入水果类中,并让它序列化列表列表(或者是列表数组还是数组列表?我忘了——我知道我在这方面有问题);您将需要另一个类:List等等。在您的情况下,您可以
List<string> Fruits;
列出水果;
在类中某个将序列化为
<Fruits>
<string>Apple</string>
<string>Orange</string>
</Fruits>
苹果
橙色
我相信
对于更多涉及嵌套对象列表的内容,您可能希望将类声明为如下列表:
[Serializable]
public class Fruits: List<Fruit>
{
// empty public constructor to make it serializable
public Fruits()
{
}
// ...
}
[可序列化]
公共类水果:列表
{
//空公共构造函数以使其可序列化
公众水果()
{
}
// ...
}
有些情况下,您无法将列表直接放入水果类中,并让它序列化列表列表(或者是列表数组还是数组列表?我忘了——我知道我在这方面有问题);您将需要另一个类风格:List等等。首先使用XML的唯一原因是,您可以使用XML解析器解析其内容。当您开始使用使XML真正有用的工具(如模式和转换(或XML序列化))时,这一点变得非常清楚:这些工具无法使用嵌入文本内容的任何数据结构。首先使用XML的唯一原因是,您可以使用XML解析器解析其内容。当您开始使用使XML真正有用的工具时,这一点变得非常清楚,例如模式和转换(或XML序列化):嵌入到文本内容中的任何数据结构对这些工具都是不可用的。如果您要存储应用程序设置,请查看,或者查看使用情况。如果要存储应用程序设置,请查看中的类型,或者查看使用情况。谢谢。是的,这只是为了存储应用程序的设置本身。谢谢。是的,这只是为了存储应用程序的设置本身。我仍然建议使用序列化程序。构造一个保存元数据的对象,然后用XML序列化它。谢谢Brian,但我现在做的是不同的。我只是存储一些外部程序设置加载到应用程序中。示例可能不清楚,但用户可以向xml添加更多内容。我仍然建议使用序列化程序。构造一个保存元数据的对象,然后用XML序列化它。谢谢Brian,但我现在做的是不同的。我只是存储一些外部程序设置加载到应用程序中。示例可能不清楚,但用户可以向xml添加更多内容。