C#:读取XML文件(Rekordbox输出XML),修改,保存
首先,如果这是一个愚蠢的问题,我很抱歉——我不是很懂C 我要做的是读取一个XML文件——即Rekordbox导出的XML文件——并对其进行修改/添加一些标记 XML基本上包含大量信息和曲目列表,示例如下:C#:读取XML文件(Rekordbox输出XML),修改,保存,c#,xml,C#,Xml,首先,如果这是一个愚蠢的问题,我很抱歉——我不是很懂C 我要做的是读取一个XML文件——即Rekordbox导出的XML文件——并对其进行修改/添加一些标记 XML基本上包含大量信息和曲目列表,示例如下: <DJ_PLAYLISTS Version="1.0.0"> <PRODUCT Name="rekordbox" Version="5.8.0" Company="Pioneer DJ"/> <COLLECTION Entries="1"> &
<DJ_PLAYLISTS Version="1.0.0">
<PRODUCT Name="rekordbox" Version="5.8.0" Company="Pioneer DJ"/>
<COLLECTION Entries="1">
<TRACK TrackID="1" Name="We Love XML" Artist="DJ File"
Composer="" Album="Rekordbox" Grouping="" Genre="Electronic"
Kind="MP3 File" Size="13908605" TotalTime="345" DiscNumber="0"
TrackNumber="4" Year="2018" AverageBpm="134.00" DateAdded="2018-05-16"
BitRate="320" SampleRate="44100" Comments=""
PlayCount="0" Rating="0" Location="file://localhost/C:/Users/DJFile/Music/DJ File Hits/We Love XML"
Remixer="" Tonality="B" Label="" Mix="">
<TEMPO Inizio="0.098" Bpm="134.00" Metro="4/4" Battito="1"/>
<POSITION_MARK Name="" Type="0" Start="0.098" Num="-1"/>
</TRACK>
</COLLECTION>
<PLAYLISTS>
<NODE Type="0" Name="ROOT" Count="0"/>
</PLAYLISTS>
</DJ_PLAYLISTS>
问题是-我对确切的文件格式不感兴趣。我只想解析曲目列表,并修改/添加“POSITION\u MARK”条目。 所以-我想读取原始文件,并按原样保存,只需添加一个或多个“位置标记”条目
所以我的问题是-如何读取随机XML文件,修改我感兴趣的曲目条目,并将其保存回包含所有原始信息和我添加的内容?尝试以下XML linq:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
namespace ConsoleApplication1
{
class Program
{
const string FILENAME = @"c:\temp\test.xml";
static void Main(string[] args)
{
XDocument doc = XDocument.Load(FILENAME);
XElement track = doc.Descendants("TRACK").FirstOrDefault();
XElement newPostitionMark = new XElement("POSITION_MARK", new object[] {
new XAttribute("Name", "John"),
new XAttribute("Type", 5),
new XAttribute("Start", 1.0),
new XAttribute("Num", 0)
});
track.Add(newPostitionMark);
doc.Save(FILENAME);
}
}
}
在课堂上开始你的研究。