diff options
author | Atsushi Eno <atsushieno@gmail.com> | 2004-08-21 05:53:05 +0400 |
---|---|---|
committer | Atsushi Eno <atsushieno@gmail.com> | 2004-08-21 05:53:05 +0400 |
commit | 31285c4397a4fd32bcf6e7de7c4017ca1396e2ea (patch) | |
tree | c882cefc20338d1a578ea355b50b92c3e3f37000 /mcs/class/System.XML/System.Xml/XmlElement.cs | |
parent | 3776117c9f5bb33358376380e2068eae4aa6400c (diff) |
2004-08-21 Atsushi Enomoto <atsushi@ximian.com>
* XmlElement.cs : set_InnerText was removing children incompletely.
This fixes bug #63574.
svn path=/trunk/mcs/; revision=32615
Diffstat (limited to 'mcs/class/System.XML/System.Xml/XmlElement.cs')
-rw-r--r-- | mcs/class/System.XML/System.Xml/XmlElement.cs | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/mcs/class/System.XML/System.Xml/XmlElement.cs b/mcs/class/System.XML/System.Xml/XmlElement.cs index a74d801671c..f506853124d 100644 --- a/mcs/class/System.XML/System.Xml/XmlElement.cs +++ b/mcs/class/System.XML/System.Xml/XmlElement.cs @@ -115,13 +115,11 @@ namespace System.Xml } set { // Why its behavior (of MS FCL) is different from InnerXml...? - if (FirstChild != null && FirstChild.NodeType == XmlNodeType.Text) + if (ChildNodes != null && ChildNodes.Count == 1 && FirstChild.NodeType == XmlNodeType.Text) FirstChild.Value = value; else { - if (FirstChild != null) { - for (int i = 0; i < ChildNodes.Count; i++) - this.RemoveChild (ChildNodes [i]); - } + while (FirstChild != null) + this.RemoveChild (FirstChild); // creates new Text node AppendChild (OwnerDocument.CreateTextNode (value)); } |