Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Triger <kostat@mono-cvs.ximian.com>2007-07-29 15:53:24 +0400
committerKonstantin Triger <kostat@mono-cvs.ximian.com>2007-07-29 15:53:24 +0400
commit1024996147dd562706df8802590919c7959c777c (patch)
treeec4d1ef4cee693815da0a6af24f08388f8499169 /mcs/class/System.XML/System.Xml.Serialization
parent82cbb9d402e623f3f1298b5922a4540383a33ebe (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/ChangeLog5
-rw-r--r--mcs/class/System.XML/System.Xml.Serialization/XmlSerializationWriter.cs16
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)