我试图在C#中创建一个简单的xml文件,它是vlc媒体播放器的播放列表。我是xml的新手,我似乎无法弄清楚为什么tracklist元素没有出现在输出中。 tracklist的结束标记显示但没有开始标记。我做错了什么?
这是我的代码:
XmlTextWriter xmldoc = new XmlTextWriter(@"C:\Users\Jamie\Documents\Playlist.xspf", Encoding.UTF8);
xmldoc.Formatting = Formatting.Indented;
xmldoc.Indentation = 2;
xmldoc.WriteStartDocument(true); //<xml start>
xmldoc.WriteStartElement("Playlist"); //<Playlist version="1" xmlns="http://xspf.org/ns/0/" xmlns:vls="http://www.videolan.org/vlc/playlist/ns/0/">
xmldoc.WriteStartAttribute("version");
xmldoc.WriteValue(1);
xmldoc.WriteEndAttribute();
xmldoc.WriteStartAttribute("xmlns");
xmldoc.WriteValue("http://xspf.org/ns/0/");
xmldoc.WriteEndAttribute();
xmldoc.WriteStartAttribute("xmlns:vls");
xmldoc.WriteValue("http://www.videolan.org/vlc/playlist/ns/0/");
xmldoc.WriteEndAttribute();
xmldoc.WriteStartElement("title"); //<title>
xmldoc.WriteString("Playlist"); //Playlist
xmldoc.WriteEndElement(); //</title>
xmldoc.WriteStartElement("tracklist"); //<tracklist>
xmldoc.WriteEndElement(); //</tracklist>
xmldoc.WriteEndElement(); //</Playlist>
xmldoc.WriteEndDocument(); //<xml end>
xmldoc.Dispose();
这是输出:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Playlist version="1" xmlns="http://xspf.org/ns/0/"xmlns:vls="http://www.videolan.org/vlc/playlist/ns/0/">
<title>Playlist</title>
<tracklist />
</Playlist>
答案 0 :(得分:1)
输出正确:<tracklist />
表示空标记。