Skip to content

Commit 0cf2839

Browse files
authored
Merge pull request #9 from rafek1241/feature/#8-fix-base-type-attributes-order
Fix base type attributes order in root container.
2 parents 1116e11 + c6b3d8e commit 0cf2839

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

src/ReBus.Serializer.XML/XmlSerializer.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,16 @@ Type messageType
9191
)
9292
{
9393
var namespaceOfMessage = DefineNamespaceOfMessage(message, messageType);
94-
xmlWriter.WriteStartElement(_options.RootName, namespaceOfMessage);
94+
xmlWriter.WriteStartElement(_options.RootName);
95+
96+
xmlWriter.WriteAttributeString("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
97+
xmlWriter.WriteAttributeString("xmlns:xsd", "http://www.w3.org/2001/XMLSchema");
98+
xmlWriter.WriteAttributeString("xmlns", namespaceOfMessage);
9599

96100
if (_options.IncludeBaseTypeNamespaces)
97101
{
98102
IncludeBaseTypesInElement(xmlWriter, messageType);
99103
}
100-
101-
xmlWriter.WriteAttributeString("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
102-
xmlWriter.WriteAttributeString("xmlns:xsd", "http://www.w3.org/2001/XMLSchema");
103104
}
104105

105106
private void IncludeBaseTypesInElement(XmlTextWriter xmlWriter, Type messageType)

tests/ReBus.Serializer.XML.UnitTests/XmlSerializerTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public async Task when_passed_message_with_base_types__maps_to_xml_object_with_b
8787

8888
resultAsString.Should()
8989
.Contain(
90-
"xmlns:baseType=\"ReBus.Serializer.XML.UnitTests.Messages.BaseTypes.IAmImplementedInterface\" xmlns:baseType1=\"ReBus.Serializer.XML.UnitTests.Messages.BaseTypes.SubClass\" xmlns:baseType2=\"ReBus.Serializer.XML.UnitTests.Messages.BaseTypes.RootClass\""
90+
"xmlns=\"http://tempuri.org/ReBus.Serializer.XML.UnitTests.Messages.BaseTypes\" xmlns:baseType=\"ReBus.Serializer.XML.UnitTests.Messages.BaseTypes.IAmImplementedInterface\" xmlns:baseType1=\"ReBus.Serializer.XML.UnitTests.Messages.BaseTypes.SubClass\" xmlns:baseType2=\"ReBus.Serializer.XML.UnitTests.Messages.BaseTypes.RootClass\""
9191
);
9292
}
9393

0 commit comments

Comments
 (0)