广告
返回顶部
首页 > 资讯 > 后端开发 > GO >如何将大量数据编组为 XML
  • 700
分享到

如何将大量数据编组为 XML

2024-04-05 00:04:52 700人浏览 薄情痞子
摘要

“纵有疾风来,人生不言弃”,这句话送给正在学习golang的朋友们,也希望在阅读本文《如何将大量数据编组为 XML》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,

“纵有疾风来,人生不言弃”,这句话送给正在学习golang的朋友们,也希望在阅读本文《如何将大量数据编组为 XML》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

问题内容

我需要通过 XML 发送大量数据,而我的 Docker 容器在执行该任务时内存不足。有没有一种方法可以使用 Go 增量编组大型 XML 文档,并将其增量写入文件以最大限度地减少内存使用?


解决方案


使用 xml.Encoder 将 xml 输出流式传输到 io.Writer,该 io.Writer 可能是网络连接 (net.Conn) 或文件 (os.File)。完整的结果不会保存在内存中。

您可以使用 Encoder.Encode() 将 go 值编码为 xml。一般来说,您可以传递任何要传递给 xml.Marshal() 的 go 值。

encoder.encode() 仅当您要编组的数据已在内存中准备好时才有帮助,这对您来说可能可行也可能不可行。例如。如果你想编组一个不能(或不应该)读入内存的大列表,这对你来说不会是一个拯救。

如果输入数据也无法保存在内存中,那么您可以通过标记和元素构造 xml 输出。您可以为此使用 Encoder.EncodeToken(),它允许您编写结果 xml 文档的“部分”。

例如,如果您想将一个大列表写入输出,您可以编写一个开始元素标记(例如 <list>),然后逐一写入列表的元素(每个元素从数据库或文件中获取,或由动态算法构造),一旦列表被封送,您就可以关闭列表元素标签(</list>)。

这是一个简单的示例,说明如何做到这一点:

type student struct {
    id   int
    name string
}

func main() {
    he := func(err error) {
        if err != nil {
            panic(err) // in your app, handle error properly
        }
    }

    // for demo purposes we use an in-memory buffer,
    // but this may be an os.file too.
    buf := &bytes.buffer{}

    enc := xml.newencoder(buf)
    enc.indent("", "  ")

    he(enc.encodetoken(xml.startelement{name: xml.name{local: "list"}}))
    for i := 0; i < 3; i++ {
        // here you can fetch / construct the records
        he(enc.encode(student{id: i, name: string(i + 'a')}))
    }
    he(enc.encodetoken(xml.endelement{name: xml.name{local: "list"}}))
    he(enc.flush())

    fmt.println(buf.string())
}

上面的输出是(在 Go Playground 上尝试一下):

<list>
  <Student>
    <ID>0</ID>
    <Name>A</Name>
  </Student>
  <Student>
    <ID>1</ID>
    <Name>B</Name>
  </Student>
  <Student>
    <ID>2</ID>
    <Name>C</Name>
  </Student>
</list>

今天关于《如何将大量数据编组为 XML》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注编程网公众号!

您可能感兴趣的文档:

--结束END--

本文标题: 如何将大量数据编组为 XML

本文链接: https://www.lsjlt.com/news/596823.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php怎么将XML数据转为数组(两种方法)
    PHP是一门广泛应用于服务器端编程的编程语言,而XML则是一种可扩展标记语言,被许多应用程序用来存储和传输数据。在PHP中,我们可以很方便地将XML转换成数组,利用这个技术,我们可以轻松地处理和操作XML数据。PHP中提供了多种方法将XML...
    99+
    2023-05-14
  • php如何将数组key转为大写
    这篇文章主要讲解了“php如何将数组key转为大写”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何将数组key转为大写”吧!在php中,可以使用array_change_key_ca...
    99+
    2023-06-20
  • php如何将数组转化为一组变量
    这篇“php如何将数组转化为一组变量”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何将数组转化为一组变量”文章吧。在...
    99+
    2023-06-30
  • php如何将变量转为数组类型
    这篇“php如何将变量转为数组类型”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何将变量转为数组类型”文章吧。转为数...
    99+
    2023-06-29
  • php如何将xml转换成数组
    这篇文章给大家分享的是有关php如何将xml转换成数组的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php将xml转换成数组的方法:首先将xml数据转成object(对象)格式的数据;然后使用json_encod...
    99+
    2023-06-08
  • PHP中如何将JSON数据转为数组
    在开发过程中,我们经常会遇到将 JSON 格式的数据转换为 PHP 数组的需求。这种需求在与前端交互、接收其他系统接口的数据等情况下非常常见。本文将介绍在 PHP 中如何将 JSON 数据转换为 PHP 数组。PHP 内置函数 json_d...
    99+
    2023-05-14
  • thinkphp中如何将json数据转为数组
    这篇文章主要介绍“thinkphp中如何将json数据转为数组”,在日常操作中,相信很多人在thinkphp中如何将json数据转为数组问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”thinkphp中如何将j...
    99+
    2023-07-05
  • PHP中如何将List数据转为JSON数组
    本篇内容主要讲解“PHP中如何将List数据转为JSON数组”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP中如何将List数据转为JSON数组”吧!首先,我们要在PHP中定义一个List。...
    99+
    2023-07-05
  • php如何将序列化数据转为数组
    本文小编为大家详细介绍“php如何将序列化数据转为数组”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何将序列化数据转为数组”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。转换方法:1、用“unserial...
    99+
    2023-06-30
  • 使用php如何将数组转化成xml
    本文操作环境:windows10系统、php 7、thinkpad t480电脑。下面是使用php将数组转化为xml的具体实现代码,一起来看下吧。具体实现代码:<php class Array_to_Xml { private...
    99+
    2022-04-02
    php 数组 xml
  • php如何将blob数据转为base64编码
    本篇内容介绍了“php如何将blob数据转为base64编码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Part 1:基础概念在开始转换之...
    99+
    2023-07-05
  • php如何将js数组转换为可用数据
    这篇文章主要介绍“php如何将js数组转换为可用数据”,在日常操作中,相信很多人在php如何将js数组转换为可用数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何将js数组转换为可用数据”的疑惑有所...
    99+
    2023-07-05
  • php如何将json数据转化为数组类型
    这篇文章主要讲解了“php如何将json数据转化为数组类型”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何将json数据转化为数组类型”吧!在php中,可以利用json_decode...
    99+
    2023-06-22
  • php如何将数组转大写
    小编给大家分享一下php如何将数组转大写,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!php将数组转大写的方法:1、创建一个PHP示例文件;2、定义一个关联数组;3、使用foreach语句遍历数组;4、使用strtoupp...
    99+
    2023-06-28
  • 如何将 Bash 数组转换为 HTTP 数组?
    在 Bash 编程中,数组是一种非常有用的数据结构。它可以帮助我们存储和处理大量的数据,以及执行各种操作。然而,当我们需要将 Bash 数组转换为 HTTP 数组时,我们需要一些特定的技巧和工具。本文将探讨如何将 Bash 数组转换为 H...
    99+
    2023-09-23
    http 数组 bash
  • 如何将 NumPy/Numpy 数组转换为 PHP 函数中的变量?
    NumPy/Numpy 数组是Python中非常常用的数据结构,而PHP是另一种广泛使用的编程语言。因此,将 NumPy 数组转换为 PHP 函数中的变量是一项非常有用的技能。在本文中,我们将讨论如何实现这一目标。 首先,我们需要确保已经安...
    99+
    2023-09-17
    函数 numpy numy
  • javascript如何将set转为数组
    本篇内容主要讲解“javascript如何将set转为数组”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript如何将set转为数组”吧! ...
    99+
    2022-10-19
  • Java中的对象编程算法:如何处理大量数组数据?
    在Java中,处理大量数组数据是一种常见的需求。无论是在数据分析、图像处理还是机器学习等领域,都需要高效地处理大量的数据。在这种情况下,使用对象编程算法能够有效地提高代码的可读性和可维护性,并且能够更快地处理大量数据。 本文将介绍Java...
    99+
    2023-10-31
    对象 编程算法 数组
  • php如何将数组转换为对象数组
    这篇文章主要介绍了php如何将数组转换为对象数组的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何将数组转换为对象数组文章都会有所收获,下面我们一起来看看吧。方法一:强制类型转换$arr =&n...
    99+
    2023-07-06
  • 如何将JavaScript将数组转为树形结构
    1.需求 后台给了一个这样的数据让咱前端去转换为树形结构(没有重复数据)。不多说,先来看看给了一个怎样的数组数据,转换为怎样的树形结构。 服务器传过来的数组 const ar...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作