Mercurial > pub > ImplabNet
comparison Implab/Xml/XmlToJson.cs @ 264:3a6e18c432be v3
Added XmlToJson xsl transformation.
Added JsonXmlReader.CreateJsonXmlReader(...) methods
Added SerializationHelpers.SerializeJson/DeserializeJson methods
author | cin |
---|---|
date | Mon, 16 Apr 2018 18:43:49 +0300 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
263:711572866e0c | 264:3a6e18c432be |
---|---|
1 using System; | |
2 using System.IO; | |
3 using System.Reflection; | |
4 using System.Xml; | |
5 using System.Xml.Xsl; | |
6 using Implab.Components; | |
7 using Implab.Formats.Json; | |
8 | |
9 namespace Implab.Xml { | |
10 public class XmlToJson { | |
11 const string XmlToJsonTransformId = "Implab.Xml.json.xsl"; | |
12 | |
13 static LazyAndWeak<XslCompiledTransform> m_default = new LazyAndWeak<XslCompiledTransform>(CreateTransform, true); | |
14 | |
15 public static XslCompiledTransform Default { | |
16 get { return m_default.Value; } | |
17 } | |
18 | |
19 protected static XslCompiledTransform CreateTransform() { | |
20 var transform = new XslCompiledTransform(); | |
21 using(var reader = XmlReader.Create(GetDefaultTransform())) { | |
22 transform.Load(reader); | |
23 } | |
24 return transform; | |
25 } | |
26 | |
27 protected static Stream GetDefaultTransform() { | |
28 return Assembly.GetExecutingAssembly().GetManifestResourceStream(XmlToJsonTransformId); | |
29 } | |
30 | |
31 | |
32 } | |
33 } |