Я сериализации строку XML с помощью следующего кодаПустая строка сериализации
StringReader newStringReader = new StringReader(value.Value);
try
{
using (var reader = XmlReader.Create(newStringReader))
{
newStringReader = null;
writer.WriteNode(reader, false);
}
}
finally
{
if (newStringReader != null)
newStringReader.Dispose();
}
но в письменном файле XML я имею
<property i:type="string">
<name>Test</name>
<value>
</value>
</property>
, но правильно было бы
<property i:type="string">
<name>Test</name>
<value></value>
</property>
так как свойство value является пустой строкой. Как он сериализуется, он не возвращает «\ r \ n».
Автор:
XmlTextWriter writer = new XmlTextWriter(output);
try { writer.Formatting = System.Xml.Formatting.Indented;
writer.Indentation = 2; // Konfiguration sichern
WriteConfiguration(config, writer);
}
finally { writer.Close(); }
Что я сделал не так?
UPDATE: Я пишу конфигурационный файл xml. Значения могут быть как ints, bools, так и т. Д. Или другие строки xml. Эти строки xml написаны с помощью приведенного выше кода. Он отлично работает, за исключением элементов emtpy string в строке xml.
UPDATE 2: Это работает, если я вручную изменил строку xml, которую я хочу написать. Я заменить все
<tag></tag>
по
<tag/>
Unfortunatley это на самом деле не "правильное" решение, чтобы изменить строку с регулярными выражениями.
Да, для меня проблема скорее всего в 'value.Value'. Какая ценность? – digEmAll
да, строка в value.Value всегда xml. Он исходит из XML-сериализатора. Эта строка не содержит строк. –