xml - 如何替换文本中的一些xml标签

标签 xml go xml-parsing

我有字符串 = Hello, <param value="username"/>! 。 我需要处理它并用某些变量替换所有参数标签。

1) s = Hello, <param value="username"/>!

2)处理

3) s =“你好,亚当!”

我需要帮助寻找库来解决此类问题。 你知道这样的吗?

最佳答案

标准库有一个 XML parser :

package main

import (
    "encoding/xml"
    "fmt"
    "io"
    "log"
    "strings"
)

func main() {
    s := `Hello, <param value="username"/>!`

    d := xml.NewDecoder(strings.NewReader(s))
    for {
        t, err := d.Token()
        if err == io.EOF {
            break
        }
        if err != nil {
            log.Fatal(err)
        }

        switch t := t.(type) {
        case xml.CharData:
            fmt.Print(string(t))
        case xml.StartElement:
            fmt.Print("Adam")
        }
    }
    fmt.Println("")
}

// Output:
// Hello, Adam!

关于xml - 如何替换文本中的一些xml标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58320643/

相关文章:

pointers - X不实现Y(…方法具有指针接收器)

Android:XML 解析:org.w3c.dom.DOMException:只允许一个根元素

iphone - 解析时跳过 XML 的某些内容

java - 我想知道如何转换Spring mvc Java配置环境

c# - 读取xml文件时如何处理文件结尾

php - 从 SQL 中检索数据以显示为 XML

c# - 序列化 : Write out pre-made XML to XmlWriter. 实现 IXmlSerialized C#

go - 使用 golang channel 。获取 "all goroutines are asleep - deadlock!"

regex - 替换字符串中每第 n 个字符实例

android - 如何在 kotlin 的 xml 标签中自动添加相同的 xml 代码?