如何将现有文件中的数据放入多维数组 C#

妙妙

我想为我的教堂创建一个从保存文件中获取歌曲的程序。但我不知道如何将这些数据放入多维数组中。下面是我想放入数组的东西。那可能吗?(我是 C# 的新手)

<items>
  <CMediaBase xsi:type="CSong">
     <DisplayTitle>Eigen bundel 10 - In Jesus name</DisplayTitle>
     <IsDirty>false</IsDirty>
     <SwapLanguages>false</SwapLanguages>
     <SongLanguage>Both</SongLanguage>
     <MediaType>Song</MediaType>
     <Number>10</Number>
     <SelectedVersion>MyVersion</SelectedVersion>
     <SongBookName>Eigen bundel</SongBookName>
     <ThemeName>OPS</ThemeName>
     <Title>In Jesus name</Title>
  </CMediaBase>
</items>
扎克·伊索

我认为您没有使用适当的数据结构来解决问题。

二维数组不能解决这里的问题,归结为解析您的歌曲 XML 文件并将该数据表示转换为您可以在 C# 中使用的内容。

我建议用 C# 类来表示您的歌曲,如下所示:

[XmlRoot("SongList")]
public class SongList
{
    [XmlElement("Song")]
    public List<Song> Songs { get; set; }
}

public class Song
{
    [XmlElement("DisplayTitle")]
    public string DisplayTitle { get; set; }

    [XmlElement("IsDirty")]
    public bool IsDirty { get; set; }

    [XmlElement("SwapLanguage")]
    public bool SwapLanguage { get; set; }

    [XmlElement("SongLanguage")]
    public string SongLanguage { get; set; }

    [XmlElement("MediaType")]
    public string MediaType { get; set; }

    [XmlElement("Number")]
    public int Number { get; set; }

    [XmlElement("SongBookName")]
    public string SongBookName { get; set; }

    [XmlElement("ThemeName")]
    public string ThemeName { get; set; }

    [XmlElement("Title")]
    public string Title { get; set; }
}

请注意[XmlElement][XmlRoot]属性的使用,它们允许我们向 XML 序列化程序指定如何将您的 XML 表示解析为该 XML 的 C# 表示。

现在使用如下的 XML 字符串:

 string xml = @"<SongList>
 <Song>
   <DisplayTitle> Eigen bundel 10 - In Jesus name</DisplayTitle>
   <IsDirty > false </IsDirty>
   <SwapLanguages >false </SwapLanguages>
   <SongLanguage > Both </SongLanguage >
   <MediaType >Song</MediaType >
   <Number>10</Number >
   <SelectedVersion >MyVersion</SelectedVersion >
   <SongBookName > Eigen bundel</SongBookName >
   <ThemeName >OPS</ThemeName >
   <Title >In Jesus name</Title>
 </Song>
 <Song>
   <DisplayTitle > Song 2</DisplayTitle >
   <IsDirty > true </IsDirty >
   <SwapLanguages > false </SwapLanguages >
   <SongLanguage > Both </SongLanguage >
   <MediaType > Song </MediaType >
   <Number > 10 </Number >
   <SelectedVersion > MyVersion </SelectedVersion >
   <SongBookName > Eigen bundel </SongBookName >
   <ThemeName > OPS </ThemeName >
   <Title > In Jesus name</Title >
   </Song>
 </SongList>";

然后,您可以使用 C# 序列化程序将此 XML 表示反序列化为对象表示,如下所示:

var serializer = new XmlSerializer(typeof(SongList));

using (var reader = new StringReader(xml))
{
   var albums = serializer.Deserialize(reader) as SongList;
}

如果你想读取一个文本文件,你应该将文件加载到 FileStream 中并像这样反序列化它:

using (var fs= new FileStream("<YOUR XML FILE PATH>", FileMode.Open)) 
{
  var songList = serializer.Deserialize(fs) as SongList;
}

请注意,您应该导入以下命名空间才能使用 XML 序列化程序和 FileStream 类:

using System.IO;
using System.Xml;
using System.Xml.Serialization;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将字符串放入整数数组C ++

来自分类Dev

在C中,如何将收到的rtp数据包存储到.pcap文件中-UDP

来自分类Dev

如何将函数应用于数组中的所有元素(在C ++模板类中)

来自分类Dev

如何从C头文件中的函数返回多维字符数组

来自分类Dev

如何将单词从分号(;)插入的文件复制到C ++中的数组中?

来自分类Dev

如何使用C#将Datagridview添加到现有的Excel文件中

来自分类Dev

如何使用C#将Datagridview添加到现有的Excel文件中

来自分类Dev

如何将文件中的单词存储在C中的二维数组中

来自分类Dev

如何将Excel数据插入C#中的现有表

来自分类Dev

如何将C#方法添加到现有的大型wix脚本中

来自分类Dev

有什么适当的方法如何将整数放入字符串中?[C]

来自分类Dev

如何将数据从用户输入到2D数组中,并输出到用户C ++

来自分类Dev

将数据插入C#中的现有JSON数组

来自分类Dev

如何将实例数据复制到现有的类引用中/之上?C#

来自分类Dev

将文本文件中的矩阵数据存储在c中的多维数组中

来自分类Dev

如何将值从数组放入C#中的另一个列表

来自分类Dev

c#如何最好地将数组或列表放入也具有名称的类中?

来自分类Dev

如何将二维数组保存到C中的文件?

来自分类Dev

将结构放入C中的数组元素

来自分类Dev

如何将变量中的字符放入C语言的数组中?

来自分类Dev

C-如何将文本文件中的单词读入字符串数组

来自分类Dev

如何不覆盖MAP c ++中的现有数据?

来自分类Dev

如何从C头文件中的函数返回多维字符数组

来自分类Dev

将循环的结构数据放入C语言的文件中

来自分类Dev

如何使用C#将Datagridview添加到现有的Excel文件中

来自分类Dev

如何将构造函数表达式放入数组中并在C#中使用它们?

来自分类Dev

如何将具有浮点数的文本文件读取到C中的浮点数组

来自分类Dev

使用C中的双指针将二维数组放入现有内存中

来自分类Dev

如何将 txt 文件转换为浮点数组(在 C# 中)?

Related 相关文章

  1. 1

    如何将字符串放入整数数组C ++

  2. 2

    在C中,如何将收到的rtp数据包存储到.pcap文件中-UDP

  3. 3

    如何将函数应用于数组中的所有元素(在C ++模板类中)

  4. 4

    如何从C头文件中的函数返回多维字符数组

  5. 5

    如何将单词从分号(;)插入的文件复制到C ++中的数组中?

  6. 6

    如何使用C#将Datagridview添加到现有的Excel文件中

  7. 7

    如何使用C#将Datagridview添加到现有的Excel文件中

  8. 8

    如何将文件中的单词存储在C中的二维数组中

  9. 9

    如何将Excel数据插入C#中的现有表

  10. 10

    如何将C#方法添加到现有的大型wix脚本中

  11. 11

    有什么适当的方法如何将整数放入字符串中?[C]

  12. 12

    如何将数据从用户输入到2D数组中,并输出到用户C ++

  13. 13

    将数据插入C#中的现有JSON数组

  14. 14

    如何将实例数据复制到现有的类引用中/之上?C#

  15. 15

    将文本文件中的矩阵数据存储在c中的多维数组中

  16. 16

    如何将值从数组放入C#中的另一个列表

  17. 17

    c#如何最好地将数组或列表放入也具有名称的类中?

  18. 18

    如何将二维数组保存到C中的文件?

  19. 19

    将结构放入C中的数组元素

  20. 20

    如何将变量中的字符放入C语言的数组中?

  21. 21

    C-如何将文本文件中的单词读入字符串数组

  22. 22

    如何不覆盖MAP c ++中的现有数据?

  23. 23

    如何从C头文件中的函数返回多维字符数组

  24. 24

    将循环的结构数据放入C语言的文件中

  25. 25

    如何使用C#将Datagridview添加到现有的Excel文件中

  26. 26

    如何将构造函数表达式放入数组中并在C#中使用它们?

  27. 27

    如何将具有浮点数的文本文件读取到C中的浮点数组

  28. 28

    使用C中的双指针将二维数组放入现有内存中

  29. 29

    如何将 txt 文件转换为浮点数组(在 C# 中)?

热门标签

归档