Это тот же вопрос, что и: Явные закрывающие теги элемента с пространством имен System.Xml.Linq
, но я использую Net 4.0, и ответы больше не работают.
Проблема в том, что на самом деле я сохраняю теги без значений, и мой выходной XML выглядит как это:
Но мне всегда нужен открывающий и закрывающий тег, то есть
ВОПРОС : как это сделать?
Добавление пустых узлов:
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 - это специализированный класс, на который указал Злой Грибо (предполагается, что он принудительно устанавливает закрывающий тег).