我有一些JSON需要添加属性并转换为XML字符串。
我设法将转换为XML工作.....
answersJsonStr = '{"question1":"answer 1","question2":"answer b"}';
XNode node =
Newtonsoft.Json.JsonConvert.DeserializeXNode(answersJsonStr, "answersXml");
var answersXml = node.ToString();
这正确地生成了XML ....
<answersXml>
<question1>answer 1</question1>
<question2>answer b</question2>
</answersXml>
但是在添加房产时我完全迷失了。即我想补充一下来......
<answersXml>
<question1>answer 1</question1>
<question2>answer b</question2>
<cardId>12334556789</cardId>
</answersXml>
我已经阅读了许多类似的问题,他们似乎建议我应该使用XElement作为它更简单。但我无法弄清楚如何将XNode转换为XElement。或许我可以直接反序列化到XElement。但我也无法弄清楚这一点。什么是最好的XML类型&#39;使用?
另外,我一直在读htis ...... http://msdn.microsoft.com/en-us/library/system.xml.linq.xnode_methods%28v=vs.110%29.aspx 但我无法从中找到很多东西。你会推荐哪些更好的文件?
答案 0 :(得分:1)
JsonConvert.DeserializeXNode返回XDocument
,因此只需使用适当的节点类型:
XDocument xdoc = JsonConvert.DeserializeXNode(answersJsonStr, "answersXml");
然后将元素添加到root:
xdoc.Root.Add(new XElement("cardId", 123456789));