返回顶部
首页 > 资讯 > 后端开发 > GO >golang 去掉xml头
  • 459
分享到

golang 去掉xml头

2023-05-15 10:05:44 459人浏览 八月长安
摘要

在golang中,读取xml文件时常常会遇到xml文件头(即<?xml … ?>)的问题,这可能会导致解析xml文件失败。下面介绍几种去掉xml头的方法。第一种方法:手动去掉xml头我们可以使用 strings.Trim 函数将

golang中,读取xml文件时常常会遇到xml文件头(即<?xml … ?>)的问题,这可能会导致解析xml文件失败。

下面介绍几种去掉xml头的方法。

第一种方法:手动去掉xml头

我们可以使用 strings.Trim 函数将xml头部去掉,代码如下:

func removeXmlHeader(xmlContent string) string {
    return strings.Trim(xmlContent, "")
}

在上面的代码中,我们使用 strings.Trim 函数将xmlContent中的前三个特殊字符(即BOM字符,其ASCII码为)去掉,这样就可以去掉xml头了。

第二种方法:使用 xml.Decoder

另一种去掉xml头的方法是使用 xml.Decoder 对象读取xml文件,并使用 decoder.Token 函数获取xml文件中的Token对象。如果Token是声明标签(即<?xml … ?>),我们就可以在解析xml文件之前跳过它,代码如下:

func removeXmlHeader(xmlContent string) (string, error) {
    decoder := xml.NewDecoder(strings.NewReader(xmlContent))
    var result strings.Builder
    for {
        token, err := decoder.Token()
        if err == io.EOF {
            break
        }
        if err != nil {
            return "", err
        }
        switch t := token.(type) {
        case xml.ProcInst:
            if t.Target == "xml" {
                continue
            }
        }
        result.WriteString(fmt.Sprintf("%v", token))
    }
    return result.String(), nil
}

在上面的代码中,我们创建了一个 xml.Decoder 对象,然后使用decoder.Token函数从xml文件中读取Token对象。如果读取的Token对象是声明标签(即xml.ProcInst),我们判断其目标是否为xml,如果是则跳过此Token对象,否则继续读取下一个Token对象,直到读完整个xml文件。

当我们把Token对象放入strings.Builder对象中后,就可以返回处理后的xml字符串了。

第三种方法:使用 xml.Unmarshal

第三种去掉xml头的方法是使用 xml.Unmarshal 来解析xml文件时跳过xml头。

func removeXmlHeader(xmlContent string, v interface{}) error {
    xmlContent = strings.Trim(xmlContent, "")
    return xml.Unmarshal([]byte(xmlContent), v)
}

在上面的代码中,我们通过 strings.Trim 函数去掉了xml文件头部,然后调用 xml.Unmarshal 函数将xml文件解析到目标对象中,这样就可以方便地去掉xml头。

综上,以上是去掉xml头的三种方法,选择哪一种方法取决于具体的业务需求。在使用这些方法时,需要注意每种方法的特点,以便选择合适的方法解决问题。

以上就是Golang 去掉xml头的详细内容,更多请关注编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: golang 去掉xml头

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

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

猜你喜欢
  • golang 去掉xml头
    在golang中,读取xml文件时常常会遇到xml文件头(即<xml … >)的问题,这可能会导致解析xml文件失败。下面介绍几种去掉xml头的方法。第一种方法:手动去掉xml头我们可以使用 strings.Trim 函数将xm...
    99+
    2023-05-15
  • php如何去掉xml标签
    本文操作环境:windows10系统、php 7、thinkpad t480电脑。php为我们提供了一个非常方便的函数,strip_tags(),利用该函数我们可以轻松实现删除html、xml以及php的标签。下面我们一起来看看具体的示例:...
    99+
    2016-06-07
    php xml 标签
  • golang 去掉后缀
    Golang是一种强类型、接近C语言的编程语言,它的出现为软件开发领域注入了新的活力。在软件开发过程中,很多情况下需要对文件名进行操作,其中最常见的操作就是去掉文件名的后缀。本文将讨论如何使用Golang来去掉文件名的后缀。在Golang中...
    99+
    2023-05-21
  • golang 去掉字符
    在Golang中,我们经常需要处理字符串。有时,我们可能需要去掉字符串中的某些字符,例如空格、换行符等。本文将介绍不同的方法来去掉Golang字符串中的字符。方法一:使用strings.Replace()strings.Replace()是...
    99+
    2023-05-22
  • golang 去掉换行
    在进行 Golang 编程时,有时会遇到需要去掉字符串中的换行字符的需要。换行字符是指在字符串中表示换行的特殊符号,常见的有 和 。当在处理数据或者字符串时,这些换行符号会影响数据的解析和处理,需要通过一些方式去掉。本文将介绍 Golan...
    99+
    2023-05-15
  • golang去掉换行
    golang是一门功能强大的编程语言,可以用于构建各种类型的应用程序。在golang中,有时需将一段带有换行符的文本进行处理,去除其中的换行符,以便进行后续的数据处理。本文将介绍golang中去除换行符的方法。在golang中,可以使用st...
    99+
    2023-05-15
  • wordpress优化头部 去掉版权等信息 wordpress去掉generator
    wordpress在默认情况下,头部会出现很多平时用不到的html代码,比如: 复制代码代码如下: <link rel="alternate" type="application/rss+xml" title="R...
    99+
    2022-06-12
    优化头部 去掉版权
  • Windows11去掉桌面快捷方式箭头 Windows11怎么去掉快捷方式箭头
    有部分强迫症用户,看到桌面每个图标都有一个小箭头,只想去掉看着舒服一点 但是Win10的大部分脚本都不能使用了,而且有可能导致桌面图标显示异常,不建议大家再去用脚本尝试(Win11也有脚本,但是随便更新版本,不少脚本都失...
    99+
    2023-05-19
    win11去除快捷方式箭头 win11快捷方式箭头
  • dom4j如何去掉xml删除空行
    要在使用dom4j解析XML文件时去掉空行,可以在输出XML文件时设置格式化输出并去掉空行。具体步骤如下: 创建一个XML文档对象...
    99+
    2024-03-07
    dom4j
  • win7怎么去掉图标箭头
    要去掉Windows 7桌面图标的箭头,您可以按照以下步骤操作:1. 首先,打开注册表编辑器。按下Win + R键,在运行对话框中输...
    99+
    2023-08-28
    win7
  • PHP去掉头尾字符的方法
    这篇“PHP去掉头尾字符的方法”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“PHP去掉头尾字符的方法”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入主题吧。...
    99+
    2023-06-06
  • 怎么在css中去掉select箭头
    这篇文章给大家介绍怎么在css中去掉select箭头,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。   css清除select的下拉箭头样式<!DOCTYPE html><...
    99+
    2023-06-14
  • Windows11去掉桌面快捷方式箭头
    要在Windows 11中去掉桌面快捷方式箭头,可以按照以下步骤操作:1. 在桌面上点击右键,然后选择"显示设置"。2. 在"显示设...
    99+
    2023-09-01
    Windows
  • win10怎么去掉快捷图标箭头
    要去掉Windows 10上的快捷图标箭头,可以按照以下步骤进行操作:1. 首先,打开注册表编辑器。按下Win + R键,输入“re...
    99+
    2023-09-01
    win10
  • win10电脑图标箭头怎么去掉
    win10操作系统是目前的主流操作系统。很多用户在使用win10系统的适合想要去掉win10电脑图标箭头,问小编win10电脑图标箭头去掉怎么操作。那么今天小编就来教教大家win10电脑图标箭头怎么去掉。下面就让我们一起来看看吧!win10...
    99+
    2023-07-10
  • win10电脑怎么去掉快捷箭头
    要去掉Windows 10电脑上的快捷箭头,可以按照以下步骤操作:1. 在桌面上点击鼠标右键,在弹出的菜单中选择“个性化”。2. 在...
    99+
    2023-08-29
    win10
  • win10去掉快捷方式小箭头 怎么去除桌面图标箭头
    一、修改注册表去掉桌面图标小箭头 按下win+R组合快捷键,打开Windows10系统的“运行”窗口,输入“regedit”,打开注册表编 在lnkfile中找到IsSh...
    99+
    2023-06-16
    win10 快捷方式 箭头 小箭头 怎么 桌面图标
  • element表格去掉表头的实现方法
    文档提示用属性show-header <el-table :data="tableData1" :span-method...
    99+
    2024-04-02
  • win7桌面图标小箭头怎么去掉?
    桌面上的快捷方式有个小箭头,真的很碍眼如何去掉桌面图标箭头让很多用户很困惑,其实去掉桌面图标箭头的方法很简单,今天小编就和大家一起学习win7桌面图标小箭头怎么去掉的方法。希望能帮助到大家! 借助第三方软件来去掉桌面...
    99+
    2023-06-06
    win7桌面图标小箭头怎么去掉 win7桌面图标小箭头 箭头 桌面图标
  • 怎样去掉windows桌面图标小箭头
    这篇文章给大家介绍怎样去掉windows桌面图标小箭头,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。我的电脑桌面出了电脑几个基本的图标以为,剩下的都有小箭头,很讨厌,如何去掉这些图标呢 我在网上找了几个方法,整理了出来...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作