我有字符串= Hello, <param value="username"/>!
。
我需要处理它,并用某些变量替换所有参数标签。
1)s = Hello, <param value="username"/>!
2)处理
3)s =“你好,亚当!”
我需要帮助查找库来解决此类问题。 你知道吗?
答案 0 :(得分:1)
标准库有一个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!
答案 1 :(得分:0)
XSLT样式表的简单作业。像这样:
<xsl:template match="param">
<xsl:value-of select=$supplied-params//param[@name=current()/@value]/@value"/>
</xsl:template>
其中$supplied-params
是一个XML文档,其中包含参数值,例如
<params>
<param name="username" value="Adam"/>
</params>