0

我已经为我的应用程序的一部分构建了一个返回 JSON 的 REST API...这里它返回一个带有车辆规格的车辆列表。有一个“功能”列表,它们是每辆车上的布尔字段。我试图在解决方案的另一部分提供的 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 级别执行此操作?

非常感谢

4

1 回答 1

1

我建议在您检索数据的地方进行。就像是

v.Features.Where(f => f)

编辑:

给定一个 IEnumerable< Vehicle > x,您可以枚举它并仅选择“真实”特征

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

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

于 2013-04-29T09:41:18.150 回答