C#: XmlTextWriter.WriteElementString fails on empty strings?

前端 未结 4 2141
伪装坚强ぢ
伪装坚强ぢ 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:36

    Your output is correct. An element with no content should be written as .

    You can force the use of the full tag by calling WriteFullEndElement()

    writer.WriteStartElement("Email");
    writer.WriteString(inputEmail);
    writer.WriteFullEndElement();
    

    That will output when inputEmail is empty.

    If you want to do that more than once, you could create an extension method:

    public static void WriteFullElementString(this XmlTextWriter writer,
                                              string localName, 
                                              string value)
    {
        writer.WriteStartElement(localName);
        writer.WriteString(value);
        writer.WriteFullEndElement();
    }
    

    Then your code would become:

    writer.WriteStartElement("User");
    writer.WriteFullElementString("Username", inputUserName);
    writer.WriteFullElementString("Email", inputEmail);
    writer.WriteEndElement();
    

提交回复
热议问题