1

我有从数据库中检索 xml 并返回业务层的数据访问方法。返回类型应该是什么?我应该简单地将它们作为字符串返回吗?将 xml 从一层返回到另一层时的最佳实践是什么?

我会将该 xml 返回给客户端,或者可能会根据客户端请求将它们转换为 json。

4

2 回答 2

3

我认为这个决定取决于哪些用例应该涵盖您的方法。

当我返回一个字符串时:

  • 调用您的方法的代码不会将结果作为 XML 进行操作,那么为什么要浪费 CPU 和内存来加载像 XmlDocument 或 XDocument 之类的复杂对象呢?只返回一个字符串!

  • 返回的 XML 是一个序列化的对象。您将要将此 XML 字符串解析为实际的 .NET 对象。

当我返回一个像XDocumentor的 XML 对象时XmlDocument

  • 调用您的方法的代码会将结果作为 XML 进行操作。这包括添加新节点、属性,或者只是读取 XML 中的一些元素或属性。

  • 调用您的方法的代码使用一些需要 XML 对象作为参数的 .NET 基类库或第三方库。

更新

我忘了根据客户请求提及“JSON 或 XML”的部分。

显然,如果您的客户端需要 XML,只需将您的数据返回为 XML,如果您的客户端需要 JSON,只需将您的数据返回为 JSON。

于 2012-07-12T17:49:38.430 回答
1

我会以字符串的形式从数据库中获取它,然后使用 XElement.Parse(XML_STING); 解析为 XML;. 如果您需要解析为 JSON,您可以使用 JSON 解析器而不更改它从数据库获取它的方式。

于 2012-07-12T17:30:04.277 回答