在C#中使用XML Writer时,XML元素未显示在输出中

时间:2014-11-28 16:38:04

标签: c# xml xmlwriter

我试图在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>

1 个答案:

答案 0 :(得分:1)

输出正确:<tracklist />表示空标记。