public static void DeserializeGetBucketVersioning()

in src/AlibabaCloud.OSS.V2/Transform/Transformer.BucketVersioning.cs [203:248]


        public static void DeserializeGetBucketVersioning(
        ref Models.ResultModel baseResult,
        ref OperationOutput output
    )
        {
            using var body = output.Body!;
            var result = baseResult as Models.GetBucketVersioningResult;
            if (result == null)
            {
                return;
            }
            try
            {
                var serializer = new XmlSerializer(typeof(XmlVersioningConfiguration));
                var obj = serializer.Deserialize(body) as XmlVersioningConfiguration;

                if (obj == null)
                {
                    return;
                }

                result.InnerBody = new Models.VersioningConfiguration()
                {
                    Status = obj.Status
                };
            }
            catch (InvalidOperationException)
            {
                if (!body.CanSeek)
                {
                    throw;
                }
                body.Seek(0, SeekOrigin.Begin);
                var xmlDoc = new XmlDocument();
                xmlDoc.Load(body);
                if (xmlDoc.FirstChild != null && !string.Equals("VersioningConfiguration", xmlDoc.FirstChild.Name))
                {
                    throw;
                }
                var node = xmlDoc.SelectSingleNode("/VersioningConfiguration/Status");
                result.InnerBody = new Models.VersioningConfiguration()
                {
                    Status = node?.InnerText
                };
            }
        }