मेरे पास स्ट्रिंग प्रारूप में एक एक्सएमएल है, क्या कोई एक्सएमएल स्ट्रिंग को उचित एक्सएमएल प्रारूप में बदलने में मेरी मदद कर सकता है?
package main
import "fmt"
func main() {
message := `<?xml proflie ><test> value '123'</test>`
fmt.Printf("%s", message)
}
1 उत्तर
encoding/xml
पैकेज का उपयोग EscapeText
फ़ंक्शन के साथ करें:
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
पैकेज में एक्सएमएल के लिए उत्कृष्ट समर्थन है, और आपके आउटपुट का उत्पादन करने के अन्य तरीके हैं जिनमें मैन्युअल रूप से आपके एक्सएमएल का निर्माण शामिल नहीं है।
यह संस्करण <test>
तत्व में रैपिंग करता है, और आपको 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)
}
अब आप संरचना का विस्तार कर सकते हैं, लेकिन सबसे अच्छी बात यह है कि आप आने वाले XML से डेटा निकालने के लिए Unmarshal
या Decode
इस प्रकार का भी कर सकते हैं:
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 पैकेज द्वारा समर्थित टैग के पूर्ण विवरण के लिए xml.Marshal
पर दस्तावेज़ देखें: https://golang.org/pkg/encoding/xml/#Marshal
संबंधित सवाल
नए सवाल
xml
XML (एक्स्टेंसिबल मार्कअप लैंग्वेज) एक संरचित दस्तावेज़ प्रारूप है जो टेक्स्ट एन्कोडिंग नियमों को परिभाषित करता है। इस टैग का उपयोग करते समय अतिरिक्त टैग जैसे प्रोग्रामिंग भाषा, टूल सेट, XML तकनीकों का उपयोग किया जा रहा है, और अन्य टैग पोस्ट की गई समस्या के वातावरण का वर्णन करते हैं। XML लचीलापन मानव और मशीन डेटा हस्तांतरण के लिए उपयोग की एक विस्तृत विविधता के लिए उधार देता है इसलिए उपकरण और पुस्तकालयों के रूप में विशिष्ट हो।