c# JSON API和XML提要,但需要过滤掉一些结果…

本文关键字:过滤 结果 API JSON XML 提要 | 更新日期: 2023-09-27 18:11:13

我已经为我的应用程序的一部分构建了一个REST API返回JSON…这里它返回带有车辆规格的车辆列表。有一个"功能"列表,这是每辆车的bool字段。我试图在解决方案的另一部分提供的XML提要中实现的是,只显示存在的特性,而不显示返回false的特性。

我的XML由以下代码组成:

        var rawApiResponse = GetRawApiResponse(URLForAPI);
        //Convert the JSON returned result to XML
        var xmlDocument = JsonConvert.DeserializeXmlNode(rawApiResponse, "DealersStock");
        var sw = new StringWriter();
        var xw = new XmlTextWriter(sw);
        xmlDocument.WriteTo(xw);
        return Content(sw.ToString(), "text/xml");

我想知道在XML中删除不需要的返回值的最佳方法是什么?

我在考虑写字符串和使用

string.Replace("<Feature1>false</Feature1>", "")

还是有更好的方法来处理XML ?

或者我应该在应用程序的API级别做这个?

多谢

c# JSON API和XML提要,但需要过滤掉一些结果…

我建议在检索数据的地方执行此操作。比如

v.Features.Where(f => f)
编辑:

给定IEnumerable x,您可以枚举它并只选择"真实"特征

foreach (var v in x)
  v.Features = v.Features.Where(f => f); 

(如果出于某种原因不想更改原始集合中的数据,可以创建一个新的IEnumerable)