如何使用这样的json.net将JSON转换为XML:
{Data : [{s1 :3, s2 :4}, {s1 :1, s2:9}]}
to
<Data s1="3" s2="4" /><Data s1="1" s2="9" />
您解析了对象后,将其传递给这样的函数。
IEnumerable<XElement> GetAttributedDataElements(JObject obj, string memberName)
{
return
from JObject o in obj[memberName].AsJEnumerable()
select CreateNode(memberName, o);
}
XElement CreateNode(string memberName, JObject obj)
{
return new XElement(memberName,
from JProperty m in obj.AsJEnumerable()
select CreateNode(m)
);
}
XObject CreateNode(JProperty member)
{
var value = member.Value;
switch (value.Type)
{
case JTokenType.String:
case JTokenType.Integer:
return new XAttribute(member.Name, value);
default:
// assuming all others are objects
return CreateNode(member.Name, (JObject)value);
}
}