我使用以下 C# 代码通过 JSON.Net 框架将 JSON 数据字符串转换为动态对象:
// Creates a dynamic .Net object representing the JSON data
var ProductDB = JsonConvert.DeserializeObject<dynamic>(JsonData);
转换后,我可以使用如下代码直接访问元素:
// Variables to be used
string ProductID;
string ProductType;
int ProductQty;
// Loop through each of the products
foreach (dynamic product in ProductDB.products)
{
ProductID = product.id;
ProductType = product.type;
ProductQty = product.qty;
}
在处理 XML 数据时有什么类似的东西吗?我可以使用 JSON.net 将我的 XML 转换为 JSON,然后重新使用上面的代码,但这感觉像是在作弊。
谢谢。
最佳答案
XDocument doc = XDocument.Parse(xmlData); //or XDocument.Load(path)
string jsonText = JsonConvert.SerializeXNode(doc);
dynamic dyn = JsonConvert.DeserializeObject<ExpandoObject>(jsonText);
我认为“作弊”是答案 - xml 解决方案很长 :)
https://stackoverflow.com/questions/13171525/