summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Xaml
diff options
context:
space:
mode:
authorStephane Delcroix <stephane@delcroix.org>2017-01-26 09:25:22 +0100
committerKangho Hur <kangho.hur@samsung.com>2017-03-24 13:15:52 +0900
commitf8ec6a427b323dcb5ccee9b76137b031abf1f2ef (patch)
tree0ffc18d70975ae903560de19632e672836f917e9 /Xamarin.Forms.Xaml
parent537e376b79120c216331be581805f7652ee6d2d2 (diff)
downloadxamarin-forms-f8ec6a427b323dcb5ccee9b76137b031abf1f2ef.tar.gz
xamarin-forms-f8ec6a427b323dcb5ccee9b76137b031abf1f2ef.tar.bz2
xamarin-forms-f8ec6a427b323dcb5ccee9b76137b031abf1f2ef.zip
[Xaml] support CDATA (#698)
Diffstat (limited to 'Xamarin.Forms.Xaml')
-rw-r--r--Xamarin.Forms.Xaml/XamlParser.cs6
1 files changed, 5 insertions, 1 deletions
diff --git a/Xamarin.Forms.Xaml/XamlParser.cs b/Xamarin.Forms.Xaml/XamlParser.cs
index e5c49804..456aad6a 100644
--- a/Xamarin.Forms.Xaml/XamlParser.cs
+++ b/Xamarin.Forms.Xaml/XamlParser.cs
@@ -104,7 +104,11 @@ namespace Xamarin.Forms.Xaml
case XmlNodeType.Whitespace:
break;
case XmlNodeType.Text:
- node.CollectionItems.Add(new ValueNode(reader.Value.Trim(), (IXmlNamespaceResolver)reader));
+ case XmlNodeType.CDATA:
+ if (node.CollectionItems.Count == 1 && node.CollectionItems[0] is ValueNode)
+ ((ValueNode)node.CollectionItems[0]).Value += reader.Value.Trim();
+ else
+ node.CollectionItems.Add(new ValueNode(reader.Value.Trim(), (IXmlNamespaceResolver)reader));
break;
default:
Debug.WriteLine("Unhandled node {0} {1} {2}", reader.NodeType, reader.Name, reader.Value);