encoding/xmlEscapeText
package main

import (
    "bytes"
    "encoding/xml"
    "fmt"
)

func Xml(in string) string {
    var b bytes.Buffer
    xml.EscapeText(&b, []byte(in))
    return b.String()
}

func main() {
    fmt.Println(`<?xml profile><test>` + Xml(`test '123'`) + `</test>`)
}
test '123'
encoding/xml
interface{}EncodeElement
package main

import (
    "encoding/xml"
    "os"
)

func main() {
    s := `test '123'`
    test := xml.StartElement{Name:xml.Name{Local:`test`}}
    xml.NewEncoder(os.Stdout).EncodeElement(s, test)
}
stuct.Encode
package main

import (
    "encoding/xml"
    "os"
)

type Test struct {
    XMLName xml.Name `xml:"test"`
    Content string `xml:",chardata"`
}
func main() {
    s := Test{Content:`test '123'`}
    xml.NewEncoder(os.Stdout).Encode(&s)
}
UnmarshalDecode
package main

import (
    "bytes"
    "encoding/xml"
    "fmt"
)

type Test struct {
    XMLName xml.Name `xml:"test"`
    Content string `xml:",chardata"`
}

func main() {
    s := Test{Content:`test '123'`}
    var buf bytes.Buffer
    xml.NewEncoder(&buf).Encode(&s)
    fmt.Println("Encoded =", buf.String())

    var read Test
    xml.NewDecoder(bytes.NewReader(buf.Bytes())).Decode(&read)
    fmt.Println("Content =", read.Content)
}
xml.Marshal