我试图在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>发布于 2014-11-28 16:45:14
输出是正确的:<tracklist />表示空标记。
https://stackoverflow.com/questions/27192890
复制相似问题