C#: XmlTextWriter.WriteElementString fails on empty strings?

前端 未结 4 2145
伪装坚强ぢ
伪装坚强ぢ 2020-12-06 12:02

I\'m using XmlTextWriter and its WriteElementString method, for example:

XmlTextWriter writer = new XmlTextWriter(\"filename.xml\",         


        
4条回答
  •  余生分开走
    2020-12-06 12:49

    Leaving this here in case someone needs it; since none of the answers above solved it for me, or seemed like overkill.

    FileStream fs = new FileStream("file.xml", FileMode.Create);
    
    XmlWriterSettings settings = new XmlWriterSettings();
    settings.Indent = true;
    
    XmlWriter w = XmlWriter.Create(fs, settings);
    w.WriteStartDocument();
    w.WriteStartElement("tag1");
    w.WriteStartElement("tag2");
    w.WriteAttributeString("attr1", "val1");
    w.WriteAttributeString("attr2", "val2");
    w.WriteFullEndElement();
    w.WriteEndElement();
    w.WriteEndDocument();
    
    w.Flush();
    fs.Close();
    

    The trick was to set the XmlWriterSettings.Indent = true and add it to the XmlWriter.

    Edit:

    Alternatively you can also use

    w.Formatting = Formatting.Indented;
    

    instead of adding an XmlWriterSettings.

提交回复
热议问题