c# json字符串转xml对象代码
来源:互联网 发布:python nonzero 编辑:程序博客网 时间:2024/06/05 20:51
XmlDictionaryReader reader = JsonReaderWriterFactory.CreateJsonReader(Encoding.UTF8.GetBytes(sJson), XmlDictionaryReaderQuotas.Max);
XmlDocument doc = new XmlDocument();
doc.Load(reader);
收藏一下吧 以后万一用的到
我试了一下,json字符串需要把键加"才行
如:{Name:"aaa",Value:1} 这里Name和Value是键这样写法转换的时候报错
需要写成
{"Name":"aaa","Value":1}
这个是第二种方法,这个键加不加"都正常翻译
/// <summary>
/// json字符串转换为Xml对象
/// </summary>
/// <param name="sJson"></param>
/// <returns></returns>
public static XmlDocument Json2Xml(string sJson)
{
//XmlDictionaryReader reader = JsonReaderWriterFactory.CreateJsonReader(Encoding.UTF8.GetBytes(sJson), XmlDictionaryReaderQuotas.Max);
//XmlDocument doc = new XmlDocument();
//doc.Load(reader);
JavaScriptSerializer oSerializer = new JavaScriptSerializer();
Dictionary<string, object> Dic = (Dictionary<string, object>)oSerializer.DeserializeObject(sJson);
XmlDocument doc = new XmlDocument();
XmlDeclaration xmlDec;
xmlDec = doc.CreateXmlDeclaration("1.0", "gb2312", "yes");
doc.InsertBefore(xmlDec, doc.DocumentElement);
XmlElement nRoot = doc.CreateElement("root");
doc.AppendChild(nRoot);
foreach (KeyValuePair<string, object> item in Dic)
{
XmlElement element = doc.CreateElement(item.Key);
KeyValue2Xml(element, item);
nRoot.AppendChild(element);
}
return doc;
}
private static void KeyValue2Xml(XmlElement node, KeyValuePair<string, object> Source)
{
object kValue = Source.Value;
if (kValue.GetType() == typeof(Dictionary<string, object>))
{
foreach (KeyValuePair<string, object> item in kValue as Dictionary<string, object>)
{
XmlElement element = node.OwnerDocument.CreateElement(item.Key);
KeyValue2Xml(element, item);
node.AppendChild(element);
}
}
else if (kValue.GetType() == typeof(object[]))
{
object[] o = kValue as object[];
for (int i = 0; i < o.Length; i++)
{
XmlElement xitem = node.OwnerDocument.CreateElement("Item");
KeyValuePair<string, object> item = new KeyValuePair<string, object>("Item", o[i]);
KeyValue2Xml(xitem, item);
node.AppendChild(xitem);
}
}
else
{
XmlText text = node.OwnerDocument.CreateTextNode(kValue.ToString());
node.AppendChild(text);
}
}
出处:http://www.cnblogs.com/yiranleguan/archive/2012/01/11/2318727.html
- c# json字符串转xml对象代码
- c# json字符串转xml对象代码
- xml字符串转json对象
- C#对象转json字符串和json字符串转对象
- c#中字符串转为json对象与json转对象
- c#字符串转json对象(一)
- C# json字符串转为对象
- xml字符串转json
- xml字符串转json字符串 JSON字符串转XML字符串
- xml转json对象
- xml字符串转json字符串
- C# XML转Json
- json字符串转json对象
- JSON字符串转JSON对象
- json字符串转json对象
- json 字符串转json 对象
- Java中Json对象转成xml字符串
- javascript xml字符串转为JSON对象
- VS2005 :Fatal Error C1902:程序数据库管理器不匹配,解决办法
- 如何使用Axure RP Widget Library?
- VB备忘录(21)ADO实例
- 杭电1008 Elevator
- 用jquery遇到的问题及解决方案
- c# json字符串转xml对象代码
- tomcat配置
- 基于stm32的4X4矩阵键盘定时器扫描消抖法,彻底告别delay函数!
- 使用iconv命令转换linux下字符集编码
- NC57聚合VO写法
- 基于嵌入式操作系统VxWorks的多任务并发程序设计――中断与任务
- ruby打开共享文件夹里面的类容
- Perl 内置特殊变量
- cocos2d-x与CocosBuilder笔记:HelloCocosBuilder