什么应该是返回xml字符串的方法的返回类型?

时间:2012-07-12 17:28:18

标签: c# xml

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

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

2 个答案:

答案 0 :(得分:1)

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

当我返回一个字符串时:

  • 调用你的方法的代码不会将结果操作为XML,那么为什么浪费CPU和内存加载像XmlDocument或XDocument这样的复杂对象,或者其他什么呢?只需返回一个字符串!

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

当我返回像XDocumentXmlDocument

这样的XML对象时
  • 调用方法的代码将把结果作为XML来操作。这包括添加新节点,属性或只读取XML中的一些元素或属性。

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

<强>更新

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

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

答案 1 :(得分:0)

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