我有以下的结构体:
type XMLProduct struct {
XMLName xml.Name `xml:"row"`
ProductId string `xml:"product_id"`
ProductName string `xml:"product_name"`
OriginalPrice string `xml:"original_price"`
BargainPrice string `xml:"bargain_price"`
TotalReviewCount int `xml:"total_review_count"`
AverageScore float64 `xml:"average_score"`
}
我使用encoding/xml
对此进行编码,然后在网页上显示。
ProductName
字段需要用 <![CDATA[]]
包装起来。但如果我写成 <![CDATA[ + p.ProductName + ]]>
,则会将 <
和 >
翻译为 <
和 >
。
如何以最小的代价创建 CDATA
?
encoding/xml/marshal.go
的源代码并未表明支持输出 CDATA。(再次说明,CDATA 在技术上是不必要的。也许规范毕竟可以被修改?) - Tomalak