首页 > 解决方案 > 从 XML 字符串中提取内部节点到 JSON 字符串

问题描述

string inputxml = "<transaction>
<node1>value1</node1>
<node2>value2</node2>
<node3>value3</node3>
</transaction>"

在省略最外层节点后,我想将此 XML 字符串转换为以下格式的 JSON 字符串:

{"node1";"value1","node2":"value2","node3":"value3"}

标签: c#jsonxml

解决方案


您可以使用 :

1 - XDocument构建与 Json 匹配的匿名对象,例如:

string inputxml = @"<transaction>
                        <node1>value1</node1>
                        <node2>value2</node2>
                        <node3>value3</node3>
                    </transaction>";

var node = XDocument.Parse(inputxml)
    .Descendants("transaction")
    .Select(x => new
    {
        Node1 = x.Element("node1").Value,
        Node2 = x.Element("node2").Value,
        Node3 = x.Element("node3").Value
    }).FirstOrDefault();

2 - Newtonsoft序列化对象,如:

string json = JsonConvert.SerializeObject(node);

演示

Console.WriteLine(json);

结果

{"Node1":"value1","Node2":"value2","Node3":"value3"}

我希望你觉得这有帮助。


推荐阅读