尝试将XML序列化为JSon c#

时间:2015-08-18 05:07:49

标签: c# asp.net json xml

我是c#的新手,在我的工作中我有一个返回此xml的应用程序

 <ListaResultado PaginaAtual="1" TotalPaginas="1">
      <ItemMenu name="consultas" id="123" caminho="abc" />
     <ItemMenu name="consultas2" id="123" caminho="abc2" />
     <ItemMenu name="consultas3" id="123" caminho="abc3" />
</ListaResultado>

并且输出no no&n;有效会导致最终结果

"ListaResultado":{"PaginaAtual":1,"TotalPaginas":"3", 
"ItemMenu":{"name":"consultas", "id":"123", "caminho":"abc"},
"ItemMenu":{"name":"consultas2", "id":"123", "caminho":"abc2"},
"ItemMenu":{"name":"consultas3", "id":"123", "caminho":"abc3"}}

我需要正确的

"ItemMenu":[{"name":"consultas", "id":"123", "caminho":"abc"},{"name":"consultas2", "id":"123", "caminho":"abc2"},{"name":"consultas3", "id":"123", "caminho":"abc3"}]
有人有一些线索吗?我发现的例子使用了正确的xml 123,这不是我的情况...... 谢谢!!!

1 个答案:

答案 0 :(得分:0)

首先,您可以使用LoadXml,然后使用JSON.NET将其重新归类为JSON:

    XmlDocument xml = new XmlDocument();
    xml.LoadXml(@"<ListaResultado PaginaAtual='1' TotalPaginas='1'>
          <ItemMenu name='consultas' id='123' caminho='abc' />
          <ItemMenu name='consultas2' id='123' caminho='abc2' />
          <ItemMenu name='consultas3' id='123' caminho='abc3' />
     </ListaResultado>");
    var doc = JsonConvert.SerializeXmlNode(xml);