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添加更多内容。