с участием
от же вопрос, что и:Явные теги закрытия элемента с пространством имен 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 - это специализированный класс, на который указал Evil Greebo (предполагается, что он должен вызывать явный закрывающий тег).