diff options
author | Konstantin Triger <kostat@mono-cvs.ximian.com> | 2007-07-29 15:53:24 +0400 |
---|---|---|
committer | Konstantin Triger <kostat@mono-cvs.ximian.com> | 2007-07-29 15:53:24 +0400 |
commit | 1024996147dd562706df8802590919c7959c777c (patch) | |
tree | ec4d1ef4cee693815da0a6af24f08388f8499169 /mcs/class/System.XML/System.Xml.Serialization | |
parent | 82cbb9d402e623f3f1298b5922a4540383a33ebe (diff) |
do not output xml declaration while serializing XmlDocument
svn path=/trunk/mcs/; revision=82929
Diffstat (limited to 'mcs/class/System.XML/System.Xml.Serialization')
-rw-r--r-- | mcs/class/System.XML/System.Xml.Serialization/ChangeLog | 5 | ||||
-rw-r--r-- | mcs/class/System.XML/System.Xml.Serialization/XmlSerializationWriter.cs | 16 |
2 files changed, 17 insertions, 4 deletions
diff --git a/mcs/class/System.XML/System.Xml.Serialization/ChangeLog b/mcs/class/System.XML/System.Xml.Serialization/ChangeLog index 6b1bf05259e..956b3c8a636 100644 --- a/mcs/class/System.XML/System.Xml.Serialization/ChangeLog +++ b/mcs/class/System.XML/System.Xml.Serialization/ChangeLog @@ -1,3 +1,8 @@ +2007-07-29 Konstantin Triger <kostat@mainsoft.com> + + * XmlSerializationWriter.cs: do not output xml declaration while + serializing XmlDocument. + 2007-07-26 Atsushi Enomoto <atsushi@ximian.com> * XmlSerializationWriterInterpreter.cs : looks like XmlNode[] diff --git a/mcs/class/System.XML/System.Xml.Serialization/XmlSerializationWriter.cs b/mcs/class/System.XML/System.Xml.Serialization/XmlSerializationWriter.cs index aa151795ca3..0aba68e88ab 100644 --- a/mcs/class/System.XML/System.Xml.Serialization/XmlSerializationWriter.cs +++ b/mcs/class/System.XML/System.Xml.Serialization/XmlSerializationWriter.cs @@ -297,6 +297,14 @@ namespace System.Xml.Serialization Writer.WriteAttributeString (prefix, localName, ns, value); } + void WriteXmlNode (XmlNode node) + { + if (node is XmlDocument) + node = ((XmlDocument) node).DocumentElement; + + node.WriteTo (Writer); + } + protected void WriteElementEncoded (XmlNode node, string name, string ns, bool isNullable, bool any) { if (name != string.Empty) @@ -309,12 +317,12 @@ namespace System.Xml.Serialization else { Writer.WriteStartElement (name, ns); - node.WriteTo (Writer); + WriteXmlNode (node); Writer.WriteEndElement (); } } else - node.WriteTo (Writer); + WriteXmlNode(node); } protected void WriteElementLiteral (XmlNode node, string name, string ns, bool isNullable, bool any) @@ -329,12 +337,12 @@ namespace System.Xml.Serialization else { Writer.WriteStartElement (name, ns); - node.WriteTo (Writer); + WriteXmlNode (node); Writer.WriteEndElement (); } } else - node.WriteTo (Writer); + WriteXmlNode (node); } protected void WriteElementQualifiedName (string localName, XmlQualifiedName value) |