Json字符串转成XML
2016-04-21 16:34
531 查看
public static bool Json2XML(string fileName)
{
string ext = Path.GetExtension(fileName);
if (string.Compare(".json", ext, true) != 0)
{
Console.WriteLine("Invalid input file, the extention is incorrect!");
return false;
}
//byte[] xmlContent = File.ReadAllBytes(fileName);
string xmlStr = File.ReadAllText(fileName);
string newFileName = Path.GetFileNameWithoutExtension(fileName) + ".xml";//fileName.Substring(0, fileName.Length - 5) + ".xml";
XmlWriterSettings writerSettings = new XmlWriterSettings();
writerSettings.CloseOutput = true;
writerSettings.Encoding = new UTF8Encoding(true);
writerSettings.CheckCharacters = false;
writerSettings.Indent = true;
writerSettings.OmitXmlDeclaration = false;
MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(xmlStr));//(xmlContent);
using (XmlReader xmlReader = JsonReaderWriterFactory.CreateJsonReader(ms, XmlDictionaryReaderQuotas.Max))
{
XmlWriter writer = XmlWriter.Create(newFileName, writerSettings);
while (xmlReader.Read())
{
writer.WriteNode(xmlReader, true);
}
writer.Flush();
writer.Close();
}
return true;
}
{
string ext = Path.GetExtension(fileName);
if (string.Compare(".json", ext, true) != 0)
{
Console.WriteLine("Invalid input file, the extention is incorrect!");
return false;
}
//byte[] xmlContent = File.ReadAllBytes(fileName);
string xmlStr = File.ReadAllText(fileName);
string newFileName = Path.GetFileNameWithoutExtension(fileName) + ".xml";//fileName.Substring(0, fileName.Length - 5) + ".xml";
XmlWriterSettings writerSettings = new XmlWriterSettings();
writerSettings.CloseOutput = true;
writerSettings.Encoding = new UTF8Encoding(true);
writerSettings.CheckCharacters = false;
writerSettings.Indent = true;
writerSettings.OmitXmlDeclaration = false;
MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(xmlStr));//(xmlContent);
using (XmlReader xmlReader = JsonReaderWriterFactory.CreateJsonReader(ms, XmlDictionaryReaderQuotas.Max))
{
XmlWriter writer = XmlWriter.Create(newFileName, writerSettings);
while (xmlReader.Read())
{
writer.WriteNode(xmlReader, true);
}
writer.Flush();
writer.Close();
}
return true;
}
相关文章推荐
- RabbitMQ学习之messageconver插件实现(Gson)
- JS 中如何判断字符串类型的数字
- JS拦截方法
- js
- 【javascript】base.js
- JS学习4(引用类型)
- 【javascript】如何延迟加载JavaScript(Google推荐的代码)
- js中的循环变量声明
- JavaScript之闭包详解
- javascript-点击栏目条增加操作框
- js this对象
- javascript基础五 (cookie基础)
- js keyup、keypress和keydown事件 详解
- JS构造函数详解
- JS的prototype的共享机制分析
- JavaScript判断IE各版本最完美解决方案
- js中数组申请的区别
- 输出js对象的所有属性值
- JS原型链原理(链表)
- JS中的自定义属性