C# XML與Json之間相互轉(zhuǎn)換實(shí)例詳解
對(duì)于這轉(zhuǎn)換其實(shí)很簡單,其中最重要的就是先要引用類庫??梢缘焦倬W(wǎng)進(jìn)行下載引用http://json.codeplex.com。
XML轉(zhuǎn)換為Json字符串
string xml = @"<?xml version=""1.0"" standalone=""no""?>
<root>
<person id=""1"">
<name>Alan</name>
<url>http://www.dbjr.com.cn</url>
</person>
<person id=""2"">
<name>Louis</name>
<url>http://www.dbjr.com.cn</url>
</person>
</root>";
這是在代碼中預(yù)定義的一個(gè)xml字符串。
mlDocument doc = new XmlDocument();
doc.LoadXml(xml);
然后將xml字符串讀入到XML文檔。
string jsonText = JsonConvert.SerializeXmlNode(doc);
Console.WriteLine(jsonText);
然后通過Json.Net類庫中專有的方法進(jìn)行轉(zhuǎn)換即可
運(yùn)行結(jié)果為:
Json字符串轉(zhuǎn)換為XML
第一種格式的Json字符串
string json = @"{
""?xml"": {
""@version"": ""1.0"",
""@standalone"": ""no""
},
""root"": {
""person"": [
{
""@id"": ""1"",
""name"": ""Alan"",
""url"": ""http://www.google.com""
},
{
""@id"": ""2"",
""name"": ""Louis"",
""url"": ""http://www.yahoo.com""
}
]
}
}";
預(yù)定義的Json字符串如上
同理調(diào)用Json.Net類庫中的方法
XmlDocument doc1 = JsonConvert.DeserializeXmlNode(json);
Console.WriteLine(doc1.OuterXml);
第二種格式的Json字符串
string json_str = "{\"a\":\"a\",\"b\":\"b\"}";
string json1 = @"{
""?xml"": {
""@version"": ""1.0"",
""@standalone"": ""no""
},
""root"":" + json_str + "}";
同理進(jìn)行調(diào)用
XmlDocument doc2 = JsonConvert.DeserializeXmlNode(json1);
Console.WriteLine(doc2.OuterXml);
調(diào)用很簡單,只要將傳遞的XML或者Json字符串格式搞正確,那么得到想要的結(jié)果就不難。代碼可以直接Copy調(diào)用。
PS:關(guān)于json操作,這里再為大家推薦幾款比較實(shí)用的json在線工具供大家參考使用:
在線JSON代碼檢驗(yàn)、檢驗(yàn)、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat
在線json壓縮/轉(zhuǎn)義工具:
http://tools.jb51.net/code/json_yasuo_trans
C語言風(fēng)格/HTML/CSS/json代碼格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json
- C#解析json文件的實(shí)現(xiàn)代碼
- asp.net(C#)解析Json的類代碼
- C#解析JSON實(shí)例
- c#版json數(shù)據(jù)解析示例分享
- C#將Json解析成DateTable的方法
- C#解析json字符串總是多出雙引號(hào)的原因分析及解決辦法
- C#使用LitJson解析JSON的示例代碼
- 詳解C#對(duì)XML、JSON等格式的解析
- c#處理3種json數(shù)據(jù)的實(shí)例
- C#實(shí)現(xiàn)json的序列化和反序列化實(shí)例代碼
- C#實(shí)現(xiàn)任意數(shù)據(jù)類型轉(zhuǎn)成json格式輸出
- C#實(shí)現(xiàn)json格式數(shù)據(jù)解析功能的方法詳解
相關(guān)文章
C# 如何使用OpcUaHelper讀寫OPC服務(wù)器
這篇文章給大家介紹C# 如何使用OpcUaHelper讀寫OPC服務(wù)器,本文通過圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧2023-12-12c# 獲取CookieContainer的所有cookies函數(shù)代碼
這篇文章主要介紹了c# 獲取CookieContainer所有cookies的函數(shù)代碼,需要的朋友可以參考下2013-06-06如何用C#獲取計(jì)算機(jī)詳細(xì)的軟件和硬件信息
我們應(yīng)該都知道System.Management提供的類可以用于讀取本地計(jì)算機(jī)設(shè)備的各種數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于如何用C#獲取計(jì)算機(jī)詳細(xì)的軟件和硬件信息的相關(guān)資料,需要的朋友可以參考下2022-12-12c# 并行和多線程編程——認(rèn)識(shí)Parallel
這篇文章主要介紹了c# 并行和多線程編程的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c# Parallel的相關(guān)知識(shí),感興趣的朋友可以了解下2021-02-02Unity3D實(shí)現(xiàn)射線使物體移動(dòng)
這篇文章主要為大家詳細(xì)介紹了Unity3D實(shí)現(xiàn)射線使物體移動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12