Это тот же вопрос, что и: Явные теги закрытия элементов с пространством System.Xml.Linq
но я использую Net 4.0, и ответы больше не работают.
Проблема заключается в том, что я сохраняю теги без значений, и мой выходной XML выглядит так:
<field/>
Но мне нужно всегда открывать и закрывать тег, т.е.
<field></field>
ВОПРОС: как это сделать?
редактирует
1
Добавление пустых узлов:
if (field_xml == null) // always true, because I create the file for the first time
{
field_xml = new XElement(XMLKeys.field,String.Empty);
table_xml.Add(field_xml);
}
field_xml.SetAttributeValue(XMLKeys.name, field_info.Name);
// ... setting some other attributes of this node
и позже, сохраняя xml:
var writer = new FullEndingXmlTextWriter(parameters.OutputFilename, Encoding.UTF8);
root_xml.Save(writer);
FullEndingXmlTextWriter - это специализированный класс, на который указывал The Evil Greebo (предполагается, что он использует явный закрывающий тег).