C# Class 包 XmlNode 轉 Json 會出問題
寫程式就是處理"資訊" "資料跟訊息"
將訊息寫進資料
從資料讀出分析成訊息
寫程式就是一直重複這輪迴
從古早一開始 用字串存訊息 (串列資訊)
讀出時用算位置方式一個格子一個格子算 解出來
再進步到結構體方式 存取
到物件(object)時代
一陣子流行XML 存取
也是有點麻煩
直到碰到 Josn 突然人生變彩色
(目前網路上碰到的大網站都是用 Json 很少看到XML)
Josn 好處是甚麼都可以轉成字串 存
用
JsonConvert.SerializeObject 將 obj轉成字串 存
再用
JsonConvert.DeserializeObject 轉回原來obj
但今天碰到鐵板 XML
更詳細說是 XmlNode
class A{ public XmlDocument XX; } 沒問題
class A{ public XmlNode XX; } XX如有資料就出問題了 XD.
轉json 轉得出去
但要轉回 class 錯誤了
XmlNode 有牠專屬的 轉 Json函式
JsonConvert.SerializeXmlNode
JsonConvert.DeserializeXmlNode
放進 Class 就是給你包 不給你轉回來
硬要的話
我只想到
先將 class 內部 XmlNode 用 JsonConvert.SerializeXmlNode 先轉成字串
記得原本的XmlNode清空後 存入資料庫
取出時 先轉成 class
再記得剛剛的字串 JsonConvert.DeserializeXmlNode 轉回給 XmlNode
不然就不要用
將訊息寫進資料
從資料讀出分析成訊息
寫程式就是一直重複這輪迴
從古早一開始 用字串存訊息 (串列資訊)
讀出時用算位置方式一個格子一個格子算 解出來
再進步到結構體方式 存取
到物件(object)時代
一陣子流行XML 存取
也是有點麻煩
直到碰到 Josn 突然人生變彩色
(目前網路上碰到的大網站都是用 Json 很少看到XML)
Josn 好處是甚麼都可以轉成字串 存
用
JsonConvert.SerializeObject 將 obj轉成字串 存
再用
JsonConvert.DeserializeObject 轉回原來obj
但今天碰到鐵板 XML
更詳細說是 XmlNode
class A{ public XmlDocument XX; } 沒問題
class A{ public XmlNode XX; } XX如有資料就出問題了 XD.
轉json 轉得出去
但要轉回 class 錯誤了
XmlNode 有牠專屬的 轉 Json函式
JsonConvert.SerializeXmlNode
JsonConvert.DeserializeXmlNode
放進 Class 就是給你包 不給你轉回來
硬要的話
我只想到
先將 class 內部 XmlNode 用 JsonConvert.SerializeXmlNode 先轉成字串
記得原本的XmlNode清空後 存入資料庫
取出時 先轉成 class
再記得剛剛的字串 JsonConvert.DeserializeXmlNode 轉回給 XmlNode
不然就不要用
留言
張貼留言