Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何替换文本中的一些xml标记_Xml_Go_Xml Parsing - Fatal编程技术网

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

如何替换文本中的一些xml标记,xml,go,xml-parsing,Xml,Go,Xml Parsing,我有string=你好。 我需要处理它并用某些变量替换所有的param标记 1) 你好 2) 加工 3) s=“你好,亚当!” 我需要帮助找到解决这些问题的库。 你知道吗?XSLT样式表的简单工作。比如: <xsl:template match="param"> <xsl:value-of select=$supplied-params//param[@name=current()/@value]/@value"/> </xsl:template> 标准

我有string=
你好。
我需要处理它并用某些变量替换所有的param标记

1) 你好

2) 加工

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

我需要帮助找到解决这些问题的库。
你知道吗?

XSLT样式表的简单工作。比如:

<xsl:template match="param">
  <xsl:value-of select=$supplied-params//param[@name=current()/@value]/@value"/>
</xsl:template>

标准库具有以下功能:

主程序包
进口(
“编码/xml”
“fmt”
“io”
“日志”
“字符串”
)
func main(){
学生:=`你好`
d:=xml.NewDecoder(strings.NewReader)
为了{
t、 错误:=d.Token()
如果err==io.EOF{
打破
}
如果错误!=零{
log.Fatal(错误)
}
开关t:=t(类型){
case xml.CharData:
格式打印(字符串(t))
case xml.StartElement:
格式印刷(“亚当”)
}
}
格式打印项次(“”)
}
//输出:
//你好,亚当!

非常感谢您!这正是我想要的:)
<params>
  <param name="username" value="Adam"/>
</params>
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!