C# XML與Json之間相互轉(zhuǎn)換實例詳解
對于這轉(zhuǎn)換其實很簡單,其中最重要的就是先要引用類庫??梢缘焦倬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://chabaoo.cn</url>
</person>
<person id=""2"">
<name>Louis</name>
<url>http://chabaoo.cn</url>
</person>
</root>";
這是在代碼中預(yù)定義的一個xml字符串。
mlDocument doc = new XmlDocument();
doc.LoadXml(xml);
然后將xml字符串讀入到XML文檔。
string jsonText = JsonConvert.SerializeXmlNode(doc);
Console.WriteLine(jsonText);
然后通過Json.Net類庫中專有的方法進(jìn)行轉(zhuǎ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操作,這里再為大家推薦幾款比較實用的json在線工具供大家參考使用:
在線JSON代碼檢驗、檢驗、美化、格式化工具:
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
相關(guān)文章
C# 如何使用OpcUaHelper讀寫OPC服務(wù)器
這篇文章給大家介紹C# 如何使用OpcUaHelper讀寫OPC服務(wù)器,本文通過圖文實例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友參考下吧2023-12-12c# 獲取CookieContainer的所有cookies函數(shù)代碼
這篇文章主要介紹了c# 獲取CookieContainer所有cookies的函數(shù)代碼,需要的朋友可以參考下2013-06-06