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/

相关文章:

go - 如果我在返回函数的函数中延迟一个函数会发生什么?订购情况如何?

xml - 如何使用 xslt 获取元素的最后一个值

android - 获取对外部库 xml 模块的引用

go - 为什么 App Engine 找不到 Mailgun 包

go - 为什么这行得通,我在最大索引后 slice 1 而没有收到错误?

java - XML 解析器 + 索引数据

c - 使用 libxml2 删除 xml 中的空白

java - 为什么此 XML DOM 解析器无法正确解析 rtept、name 和 cmt 标签?

android - 如果 minSdkVersion 低于 targetSdkVersion 会发生什么?

java - TransformerFactory与Xalan依赖冲突