"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo especificar un formato de fecha personalizado al desgastar XML en un campo `Time.Time` en Golang?

¿Cómo especificar un formato de fecha personalizado al desgastar XML en un campo `Time.Time` en Golang?

Publicado el 2025-03-25
Navegar:834

How to Specify a Custom Date Format When Unmarshaling XML into a `time.Time` Field in Golang?

Formato de fecha de superación discrepancias en Golang xml unmarshal con time.time

recuperando los datos XML a través de REST APIS SPESSO presenta un desafío al tratar de desmarcar los datos en A Golang Struct. Un problema frecuente surge cuando el formato de fecha devuelto por la API no se alinea con el formato de análisis de tiempo predeterminado. Para abordar este problema, la pregunta explora si hay un método para especificar un formato de fecha personalizado cuando se desactiva en un campo Time.time.

Unmarshaling personalizado con xml.unmarshalxml

el paquete de envoltorio de XML de la biblioteca estándar ofrece una solución a través de la solución XML.UNMLER. Sin embargo, Time.Time no implementa esta interfaz, evitando que especifiquemos un formato de fecha personalizado. para superar esta limitación, podemos definir un nuevo tipo de estructura personalizada que envuelva un campo de tiempo de tiempo e implementa nuestro propio método unmarshalxml. Este método analizará la cadena de fecha XML usando nuestro formato deseado y establecerá el valor de tiempo subyacente. // ... Dateentered CustomTime `XML:" Enterdate "` // usa nuestro tipo personalizado que implementa unmarshalxml // ... } Escriba la estructura de tiempo personalizado { tiempo. Tiempo } func (c *customTime) unmarshalxml (d *xml.decoder, inicio xml.startelement) error { const shortForm = "20060102" // formato de fecha yyyymmdd cadena var v V D.DecodeElement (& amp; V, & amp; inicio) Parse, ERR: = Time.Parse (ShortForm, V) si err! = nil { devolver err } *C = CustomTime {Parse} regresar nulo }

utilizando este método personalizado unmarshalxml, podemos especificar de manera efectiva nuestro propio formato de fecha y asegurarnos de que el campo Time.time se pobla correctamente cuando unmarshaling XML Data.

Notas adicionales

[&] si el elemento XML usa un ATRATIONES ATRESTIVES UNA DATA, usted puede representar Attates, usted puede representar Attates, usted puede representar un ATRATO ATRATIVOS, usted puede representar un ATRATO ATRATIONES A ATRATOS, USA ATRETIMIENTOS A THE DATA, USA ATRIMIENTOS A ATRATOS, USA ATRETIMIENTOS A ATRATOS A ATRATOS A ATRA DE ATRA ATRETOS. Implementar unmarshalxmlattr de manera similar.

 Para referencia adicional, el patio de recreo provisto demuestra la implementación: http://play.golang.org/p/efxznsje4a horr
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3