0
我有一個播放列表(S),我需要解析,我需要做的東西一樣在列表框等 這裏設置它們是.xspfC#解析XML(.xspf文件)
<?xml version="1.0" encoding="UTF-8"?>
<playlist xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/" version="1">
<title>Playlist</title>
<trackList>
<track>
<location>file:///E:/Downloads/video1.mp4</location>
<duration>681493</duration>
<extension application="http://www.videolan.org/vlc/playlist/0">
<vlc:id>0</vlc:id>
</extension>
</track>
<track>
<location>file:///E:/Downloads/video2.mp4</location>
<duration>614585</duration>
<extension application="http://www.videolan.org/vlc/playlist/0">
<vlc:id>1</vlc:id>
</extension>
</track>
<track>
<location>file:///E:/Downloads/video3.mp4</location>
<duration>220629</duration>
<extension application="http://www.videolan.org/vlc/playlist/0">
<vlc:id>2</vlc:id>
</extension>
</track>
</trackList>
<extension application="http://www.videolan.org/vlc/playlist/0">
<vlc:node title="oh.xspf">
<vlc:node title="B">
<vlc:item tid="0"/>
<vlc:item tid="1"/>
</vlc:node>
<vlc:node title="Solo">
<vlc:item tid="2"/>
</vlc:node>
</extension>
</playlist>
這裏是C#代碼工作,但我得到的問題,因爲我使用「node.ChildNode.Item(1).InnerText」一些文件有更多的元數據,而不僅僅是「位置」「持續時間」。 但我不能似乎得到使用元素名稱的工作來獲得信息我想
private void button1_Click(object sender, EventArgs e)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("1.xspf");
XmlNodeList nodeList = xmlDoc.GetElementsByTagName("track");
string proID = "", proName = "";
foreach (XmlNode node in nodeList)
{
proID = node.ChildNodes.Item(1).InnerText;//ChildNodes.Item(1).InnerText;
//proName = node.SelectSingleNode("duration").InnerText;
listBox1.Items.Add(proID);
}
}
謝謝jdweng的作品是 「擴展」 心不是零,但得到的錯誤是它是NULL。 – Shapeshifter
但是我在一秒鐘後將它重新格式化了。 – Shapeshifter
我看到更改。很好,你有它的工作。不知道你需要xml中的哪些字段,所以我把所有東西都拉到一個對象中[]。 – jdweng