【发布时间】:2022-07-22 19:48:12
【问题描述】:
我想将下面的 xml 有效负载解组为结构
<linearPackagePublish>
<linearPackage>
<name>ABC</name>
<packagedServiceReference>
<availabilityWindowEnd>2329-12-31 23:59:59</availabilityWindowEnd>
<availabilityWindowStart>2007-11-14 11:40:00</availabilityWindowStart>
<packagedServiceId>1111111111</packagedServiceId>
</packagedServiceReference>
<partnerPackageId>XXXXXXX</partnerPackageId>
</linearPackage>
<partnerId>XXXXXX</partnerId>
<wantLinearPublishResult>true</wantLinearPublishResult>
</linearPackagePublish>
我想在标签之前添加 transactionId,如下所示:
<linearPackagePublish>
<linearPackage>
<name>ABC</name>
<packagedServiceReference>
<availabilityWindowEnd>2329-12-31 23:59:59</availabilityWindowEnd>
<availabilityWindowStart>2007-11-14 11:40:00</availabilityWindowStart>
<packagedServiceId>1111111111</packagedServiceId>
</packagedServiceReference>
<partnerPackageId>XXXXXXX</partnerPackageId>
</linearPackage>
<partnerId>XXXXXX</partnerId>
<transactionId>111111111111</transactionId>
<wantLinearPublishResult>true</wantLinearPublishResult>
</linearPackagePublish>
为此,我试图将上面的 xml 解组为下面的结构:
type linearPackagePublish struct {
LinearPackage string `xml:"linearPackage"`
MsoPartnerID string `xml:"partnerId"`
TransactionID string `xml:"transactionId,omitempty"`
WantLinearPublishResult bool `xml:"wantLinearPublishResult,omitempty"`
}
但问题是我不想解组 linearPackage 元素,这就是为什么我将 LinearPackage 作为字符串放在 struct 中的原因
我也可以通过正则表达式来实现,但如果 xml 发生变化,它会更容易出错。
有什么方法可以将一些嵌套的 xml 元素做成字符串??
【问题讨论】:
-
这将有助于制作一个可运行的示例,可能带有指向操场的链接。
-
你不应该把 LinearPackage 作为字符串,而是使用 LinearPackage xml.CharData
xml:"linearPackage"如果你提供一些你想要的 cmets 和最终结果的代码示例会更好
标签: go