LinqToXsd Serialization дает дубликат (вложенный) корневой элемент
У меня есть несколько XSD, которые нужно использовать в качестве запросов для веб-сервисов. Когда я сериализую запрос к строке (или файлу), корневой элемент всегда повторяется как элемент xml. Почему это? Как я могу предотвратить это?
Я использую LinqToXsd (пакет nuget) V2.0.2. с VS2013.
XSD:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://blah.com" targetNamespace="http://blah.com">
<xsd:complexType name="SomeValues">
<xsd:sequence>
<xsd:element name="Value1" type="xsd:int" minOccurs="0"/>
<xsd:element name="Value2" type="xsd:int" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
Результирующий XML (как вы можете видеть, корень SomeValues повторяется):
<?xml version="1.0" encoding="utf-16"?>
<SomeValues>
<SomeValues xmlns="http://blah.com">
<Value1 xmlns="">1</Value1>
<Value2 xmlns="">2</Value2>
</SomeValues>
</SomeValues>
А вот фрагмент сериализации:
private static string SerializeTest()
{
var content = new SomeValues
{
Value1 = 1,
Value2 = 2
};
XmlSerializer serializer = new XmlSerializer(content.GetType());
using (var stringWriter = new StringWriter())
{
serializer.Serialize(stringWriter, content);
return stringWriter.ToString();
}
}