我可以毫無問題地從 expandoobject 獲取元素 innertext。我不知道如何獲取屬性的值。通過這樣做,我可以在 body 元素內獲得預期的字符串。Console.WriteLine(obj.Message.Body) private void TestXML() { string xmlString = @"<?xml version=""1.0"" encoding=""utf-8""?><Message important=""yes"" recevied=""2019-2-12""><Body>Hi there fella!</Body></Message>"; XDocument doc = XDocument.Parse(xmlString); string json = JsonConvert.SerializeXNode(doc); dynamic obj = JsonConvert.DeserializeObject<ExpandoObject>(json); Console.WriteLine(obj.Message); }我做了一個調試,在下面我可以看到3個字段:obj.Message值為“是”的@important值為“2019-2-12”的@received身體與值“嗨,伙計們!有沒有辦法用@ 前綴檢索前2個字段的值?我不知道如何處理動態對象上的這個@字符。
1 回答

縹緲止盈
TA貢獻2041條經驗 獲得超4個贊
要處理特殊字符,例如動態對象中的“@”,必須將其轉換為 '(IDictionary)。然后,您可以將接收的屬性作為波紋管:
var received = ((IDictionary<string, object>)obj.Message)["@recevied"];
- 1 回答
- 0 關注
- 69 瀏覽
添加回答
舉報
0/150
提交
取消