private static void UnmarshallResult(XmlUnmarshallerContext context,CreateHostedZoneResponse response)
{
int originalDepth = context.CurrentDepth;
int targetDepth = originalDepth + 1;
if (context.IsStartOfDocument)
targetDepth += 2;
while (context.Read())
{
if (context.IsStartElement || context.IsAttribute)
{
if (context.TestExpression("HostedZone", targetDepth))
{
response.HostedZone = HostedZoneUnmarshaller.GetInstance().Unmarshall(context);
continue;
}
if (context.TestExpression("ChangeInfo", targetDepth))
{
response.ChangeInfo = ChangeInfoUnmarshaller.GetInstance().Unmarshall(context);
continue;
}
if (context.TestExpression("DelegationSet", targetDepth))
{
response.DelegationSet = DelegationSetUnmarshaller.GetInstance().Unmarshall(context);
continue;
}
}
else if (context.IsEndElement && context.CurrentDepth < originalDepth)
{
return;
}
}
IWebResponseData responseData = context.ResponseData;
if (responseData.IsHeaderPresent("Location"))
response.Location = responseData.GetHeaderValue("Location");
return;
}