如何减少用于存储在DB中的XML字符串长度?

时间:2017-01-10 07:19:08

标签: c# xml string-length

我的XLM看起来像那样(长度为278个字符):

<AppList>
  <App>
    <Info1>Value 1</Info1>
    <Info2>Value 2</Info2>
    <Info3>Value 3</Info3>
    <AppList>
      <App>
        <Info1>Value 4</Info1>
        <Info2>Value 5</Info2>
        <Info3>Value 6</Info3>
      </App>
    </AppList>
  </App>
</AppList>

对于在DB中存储,我希望它看起来像那样(长度为192个字符):

<AppList><App><Info1>Value 1</Info1><Info2>Value 2</Info2><Info3>Value 3</Info3><AppList><App><Info1>Value 4</Info1><Info2>Value 5</Info2><Info3>Value 6</Info3></App></AppList></App></AppList>

在Notepad ++中,它们具有类似Linearize XML的功能,可以完成工作 有没有办法在C#中以编程方式执行此操作?

1 个答案:

答案 0 :(得分:2)

您可以考虑以下方法。

  1. 参考the duplicated content,您可以在C#中完成。

  2. Just Compress text-to-text:有几种压缩文本的方法。当然,之后很难进行字符串搜索。

  3. Use XML support in SQL:大多数SQL数据库本身以压缩方式存储XML。或者this article也可以提供帮助。

  4. Describe in Json:XML通常比json表达式冗长。 XML和json都是树结构,因此可以进行1:1转换。