使用以下命令将JSON转换为XML之后:
var xml = XDocument.Load(JsonReaderWriterFactory.CreateJsonReader(Encoding.ASCII.GetBytes(json), new XmlDictionaryReaderQuotas()));
我得到的输出类似于:
<a type="object">
<b type="array">
<item type="object">
...
</item>
<item type="object">
...
</item>
</b>
</a>
有人知道让XML看起来像这样的简单方法吗?
<a type="object">
<b type="object">
...
</b>
<b type="object">
...
</b>
</a>
我需要这种格式以匹配我的XSLT转换模板。
非常感谢, 凯
答案 0 :(得分:0)
使用Xml Linq:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
namespace ConsoleApplication117
{
class Program
{
const string INPUT_FILE = @"c:\temp\test.xml";
const string OUTPUT_FILE = @"c:\temp\test1.xml";
static void Main(string[] args)
{
XDocument doc = XDocument.Load(INPUT_FILE);
XElement b = doc.Descendants("b").FirstOrDefault();
List<XElement> items = b.Descendants("item").Select(x =>
new XElement("b", new object[] {
new XAttribute("type", "object"),
x.Nodes()
})
).ToList();
b.ReplaceWith(items);
doc.Save(OUTPUT_FILE);
}
}
}