このコードを実行して、TagLib を使用して .mp3 ファイルから情報を取得し、それを LINQ to XML を使用して XML ドキュメントに表示しました。正しいコードは次のとおりです。
static class Program
{
[STAThread]
static void Main()
{
TagLib.File file = TagLib.File.Create(@"path of one of my .mp3 files");
XDocument xdoc = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XElement("Music", new XAttribute("id", 001),
new XElement("Album", file.Tag.Album),
new XElement("AlbumArtist", file.Tag.AlbumArtists),
new XElement("Title", file.Tag.Title),
new XElement("Track", file.Tag.Track),
new XElement("Genre", file.Tag.Genres),
new XElement("Path", Path.GetFullPath("El Gozo (version acústica).mp3")))
);
xdoc.Save(@"C:\Users\ivan_000\Music\Data.xml");
}
}
しかし今、同じ XML ドキュメントに複数の .mp3 ファイルを格納する同じプログラムを開発する方法をいろいろ試しましたが、うまくいきません。
static void Main()
{
TagLib.File file = TagLib.File.Create(@"C:\Users\ivan_000\Music\El Gozo (version acústica).mp3");
TagLib.File file2 = TagLib.File.Create(@"C:\Users\ivan_000\Music\En el Trono está.mp3");
TagLib.File file3 = TagLib.File.Create(@"C:\Users\ivan_000\Music\Por Siempre.mp3");
XDocument xdoc = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XElement("Music", new XAttribute("id", 001),
new XElement("Album", file.Tag.Album),
new XElement("AlbumArtist", file.Tag.FirstAlbumArtist),
new XElement("Title", file.Tag.Title),
new XElement("Track", file.Tag.Track),
new XElement("Genre", file.Tag.FirstGenre),
new XElement("Path", Path.GetFullPath("El Gozo (version acústica).mp3"))),
new XElement("Music", new XAttribute("id", 002),
new XElement("Album", file2.Tag.Album),
new XElement("AlbumArtist", file2.Tag.FirstAlbumArtist),
new XElement("Title", file2.Tag.Title),
new XElement("Track", file2.Tag.Track),
new XElement("Genre", file2.Tag.FirstGenre),
new XElement("Path", Path.GetFullPath("Por Siempre.mp3"))),
new XElement("Music", new XAttribute("id", 003),
new XElement("Album", file3.Tag.Album),
new XElement("AlbumArtist", file3.Tag.FirstAlbumArtist),
new XElement("Title", file3.Tag.Title),
new XElement("Track", file3.Tag.Track),
new XElement("Genre", file3.Tag.FirstGenre),
new XElement("Path", Path.GetFullPath("Por Siempre.mp3")))
);
xdoc.Save(@"C:\Users\ivan_000\Music\Data.xml");
}