LINQ to XML- 仅 return 变量和变量值

LINQ to XML- only return variables and variable values

美好的一天 我正在调用短信客户端(使用 C# API v2 [REST]),return xml 结果如下:

<apiresult>
  <data>
    <credits>100</credits>
  </data>
  <callresult>
    <result>True</result>
    <error />
  </callresult>
</apiresult>

通过使用 LINQ to XML,我想 return 对象的变量,即 credits: 100, result : true 和 return it as JSON。

我尝试了以下方法:

//Remove invalid chars
var legalchars = RemoveIllegalChars(Results);

XDocument po = XDocument.Parse(legalchars);
var list1 = po.Root.Descendants("apiresult");

没有得到想要的结果。任何帮助将不胜感激。

您将需要 Newtonsoft.Json 包,而我正在使用 XElement:

XElement root = XElement.Parse(@"
    <apiresult>
        <data>
            <credits>100</credits>
        </data>
        <callresult>
            <result>True</result>
            <error />
        </callresult>
</apiresult>
    ");

    var credits = root.Element("data").Element("credits").Value;
    var result = root.Element("callresult").Element("result").Value;

    JObject jsonObj = JObject.FromObject(
        new {credits = credits, result = result}
    );

    Console.WriteLine (jsonObj.ToString());

当然不是写到控制台,return jsonObj.ToString()