我正在尝试解析以下 xml :
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Body>
<wd:Get_Workers_Response wd:version="v35.0" xmlns:wd="urn:com.workday/bsvc">
<wd:Request_References>
<wd:Worker_Reference>
<wd:ID wd:type="WID">11112222333444</wd:ID>
<wd:ID wd:type="Employee_ID">123456789</wd:ID>
</wd:Worker_Reference>
</wd:Request_References>
<wd:Response_Data>
<wd:Worker>
<wd:Worker_Descriptor>user xyz</wd:Worker_Descriptor>
<wd:Worker_Data>
<wd:Worker_ID>123456789</wd:Worker_ID>
<wd:User_ID>user_one_id</wd:User_ID>
<wd:Personal_Data>
<wd:Contact_Data>
<wd:Email_Address_Data>
<wd:Email_Address>abc@gmail.com</wd:Email_Address>
<wd:Usage_Data wd:Public="1">
<wd:Type_Data wd:Primary="1">
<wd:Type_Reference>
<wd:ID wd:type="WID">12346780</wd:ID>
<wd:ID wd:type="Communication_Usage_Type_ID">WORK</wd:ID>
</wd:Type_Reference>
</wd:Type_Data>
</wd:Usage_Data>
<wd:Email_Reference>
<wd:ID wd:type="WID">0987654321</wd:ID>
<wd:ID wd:type="Email_ID">EMAIL_REFERENCE-3-1</wd:ID>
</wd:Email_Reference>
<wd:ID>EMAIL_REFERENCE-3-1</wd:ID>
</wd:Email_Address_Data>
</wd:Contact_Data>
</wd:Personal_Data>
</wd:Worker_Data>
</wd:Worker>
</wd:Response_Data>
</wd:Get_Workers_Response>
</env:Body>
</env:Envelope>
我试过这个结构:
type ElementOne struct {
XMLName xml.Name `xml:"Envelope"`
Bar interface{} `xml:"env:Body>wd:Get_Workers_Response "`
}
我无法进入 <env:Body>
标签。由于冒号,解析似乎不起作用。我也尝试转义冒号(env\:Body
)。我需要来自这个 xml 的以下值:WID
、Employee_ID
来自Worker_Reference
和Email_ID
其中的嵌套标签内wd:Email_Address_Data
任何帮助将不胜感激,我是 xml 解析的新手,所以我可能在这里遗漏了一些东西。
谢谢。