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

不然就不要用




















留言

熱門文章