【发布时间】:2016-06-06 15:39:45
【问题描述】:
我正在使用 C# 在 Visual Studio 中开发一个应用程序。该应用程序从JSON 转换为XML。转换后,在某些情况下,我会收到这样的XML。
<root>
<row>
<id>0001</id>
<type>donut</type>
<name>Cake</name>
<ppu>0.55</ppu>
<topping>
<id>5001</id>
<type>None</type>
</topping>
<topping>
<id>5002</id>
<type>Glazed</type>
</topping>
<topping>
<id>5005</id>
<type>Sugar</type>
</topping>
<topping>
<id>5007</id>
<type>Powdered Sugar</type>
</topping>
<topping>
<id>5006</id>
<type>Chocolate with Sprinkles</type>
</topping>
<topping>
<id>5003</id>
<type>Chocolate</type>
</topping>
<topping>
<id>5004</id>
<type>Maple</type>
</topping>
</row>
</root>
如您所见,有几个同名的节点,我想要这个XML 输出。
<root>
<row>
<id>0001</id>
<type>donut</type>
<name>Cake</name>
<ppu>0.55</ppu>
<toppings>
<topping>
<id>5001</id>
<type>None</type>
</topping>
<topping>
<id>5002</id>
<type>Glazed</type>
</topping>
<topping>
<id>5005</id>
<type>Sugar</type>
</topping>
<topping>
<id>5007</id>
<type>Powdered Sugar</type>
</topping>
<topping>
<id>5006</id>
<type>Chocolate with Sprinkles</type>
</topping>
<topping>
<id>5003</id>
<type>Chocolate</type>
</topping>
<topping>
<id>5004</id>
<type>Maple</type>
</topping>
</toppings>
</row>
</root>
使用C#,如何将同名的节点分组到一个容器节点下?
【问题讨论】:
-
您想如何准确地对它们进行分组?
-
我想为这些节点创建一个容器节点。对不起,我没有提到
-
你可以添加一个显示结果应该如何显示的 xml 吗?
-
到目前为止你尝试过什么?你的预期输出是什么?容器叫什么?它只是为了打顶,还是任何不止一次出现的元素?所有元素都必须是兄弟姐妹吗?
-
我刚刚添加了一个输出示例。容器必须是通用名称,不管它有什么名称。对于每组节点,它必须相同。例如,如果我有另一个像“topping”这样的组,我想将它们分组到另一个容器节点下。
标签: c# xml visual-studio json.net