コード例 #1
0
        internal static Pet XmlDeserialize(XElement payload)
        {
            var  result        = new Pet();
            var  deserializeId = XmlSerialization.ToDeserializer(e => (long?)e);
            long?resultId;

            if (deserializeId(payload, "id", out resultId))
            {
                result.Id = resultId;
            }
            var      deserializeCategory = XmlSerialization.ToDeserializer(e => Category.XmlDeserialize(e));
            Category resultCategory;

            if (deserializeCategory(payload, "category", out resultCategory))
            {
                result.Category = resultCategory;
            }
            var    deserializeName = XmlSerialization.ToDeserializer(e => (string)e);
            string resultName;

            if (deserializeName(payload, "name", out resultName))
            {
                result.Name = resultName;
            }
            var            deserializePhotoUrls = XmlSerialization.CreateListXmlDeserializer(XmlSerialization.ToDeserializer(e => (string)e), "photoUrl");
            IList <string> resultPhotoUrls;

            if (deserializePhotoUrls(payload, "photoUrl", out resultPhotoUrls))
            {
                result.PhotoUrls = resultPhotoUrls;
            }
            var         deserializeTags = XmlSerialization.CreateListXmlDeserializer(XmlSerialization.ToDeserializer(e => Tag.XmlDeserialize(e)), "tag");
            IList <Tag> resultTags;

            if (deserializeTags(payload, "tag", out resultTags))
            {
                result.Tags = resultTags;
            }
            var    deserializeStatus = XmlSerialization.ToDeserializer(e => (string)e);
            string resultStatus;

            if (deserializeStatus(payload, "status", out resultStatus))
            {
                result.Status = resultStatus;
            }
            return(result);
        }