0

我需要将 xml 响应发送到前端应用程序 (.NET)。xml 响应将包含太多的数据标签。基本上,我需要发送从一个非常大的表(如十万行或更大)中检索到的数据。xml(例如)是这样的,

<Values>
   <value>
      <value1></value1>
      <value2></value2>
      .
      .
      <valuen></valuen>
   </value>
   .
   .
<Values>

我很好奇性能问题。我应该使用其他替代方法来提高速度吗?我正在使用 Freemarker API 进行 xml 响应。

PS。请注意,Value1、Value2 只是示例标签。实际上,它们是一张表中的字段。

4

2 回答 2

0

您可以做的事情很少,但是从问题和您的评论来看,我不清楚您在哪里有回旋的余地。一些选项:

  1. 如果您不需要,请不要使用 XML。XML 生成和解析相对较慢。如果你拥有你的生产者和消费者,请使用一些快速的东西,比如协议缓冲区

  2. 尝试使用 Freemarker 的一些替代方法来创建您的 XML。

我不相信会加快你的速度,但它会让事情变得更清洁 - 不要将数字放在 value 元素中。如果您根本不需要订购/标识您的元素,那么您的 XML 应该如下所示:

<values>
   <value>...</value>
   <value>...</value>
   <value>...</value>
<values>

但如果他们确实需要某种 ID,我建议改为:

<values>
    <value id="1">...</value>
    <value id="2">...</value>
    <value id="3">...</value>
</values>
于 2012-04-10T11:44:06.230 回答
0

我可以建议 2 个替代方案:

  1. 像这样缩短 XML 中的标签名称:

      <Vs>
    
      <v>
    
      <v1></value1>
    
      <v2></value2>
    
      <vn></valuen>
    
      </v>       
    
      <Vs>
    
  2. 使用 JSON 而不是 XML,因此您可以完全保存标签名称。

于 2012-04-10T11:52:05.607 回答