diff options
author | Stephane Delcroix <stephane@delcroix.org> | 2017-01-26 09:25:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-26 09:25:22 +0100 |
commit | e3f193712b0c9d489bef2fe7cbcfe6581135939f (patch) | |
tree | 6197895d80297756b82132e388d2fd8ea3270d5d /Xamarin.Forms.Xaml | |
parent | ccf784656de12d5b4c54bd09e64da2333f3351d0 (diff) | |
download | xamarin-forms-e3f193712b0c9d489bef2fe7cbcfe6581135939f.tar.gz xamarin-forms-e3f193712b0c9d489bef2fe7cbcfe6581135939f.tar.bz2 xamarin-forms-e3f193712b0c9d489bef2fe7cbcfe6581135939f.zip |
[Xaml] support CDATA (#698)
Diffstat (limited to 'Xamarin.Forms.Xaml')
-rw-r--r-- | Xamarin.Forms.Xaml/XamlParser.cs | 6 |
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); |