##// END OF EJS Templates
sync, minor changes
sync, minor changes

File last commit:

r264:3a6e18c432be v3
r284:bcb6c16f6fed v3
Show More
XmlToJson.cs
32 lines | 967 B | text/x-csharp | CSharpLexer
using System;
using System.IO;
using System.Reflection;
using System.Xml;
using System.Xml.Xsl;
using Implab.Components;
using Implab.Formats.Json;
namespace Implab.Xml {
public class XmlToJson {
const string XmlToJsonTransformId = "Implab.Xml.json.xsl";
static LazyAndWeak<XslCompiledTransform> m_default = new LazyAndWeak<XslCompiledTransform>(CreateTransform, true);
public static XslCompiledTransform Default {
get { return m_default.Value; }
}
protected static XslCompiledTransform CreateTransform() {
var transform = new XslCompiledTransform();
using(var reader = XmlReader.Create(GetDefaultTransform())) {
transform.Load(reader);
}
return transform;
}
protected static Stream GetDefaultTransform() {
return Assembly.GetExecutingAssembly().GetManifestResourceStream(XmlToJsonTransformId);
}
}
}