//Get 'statuses' in root node private void GetRootStatuses(IEnumerable<XElement> statusesNodes) { if (IsEleListNotNull(statusesNodes)) { for (int i = 0; i < statusesNodes.Count(); i++) { Status mStatus = new Status(); GetBaseStatusValue(mStatus, statusesNodes.ElementAt(i)); GetPriNdInStatus(mStatus, statusesNodes.ElementAt(i)); statuses.Add(mStatus); } } }
//Get 'retweeted_status' node value private void GetRetweetedStatus(Status mStatus, XElement statusesNode) { //Get public attribute of 'Stataus' in 'retweeted_status' XElement retweetedStatusNode = statusesNode.Element("retweeted_status"); if (retweetedStatusNode != null) { GetBaseStatusValue(mStatus.RetweetedStatus, retweetedStatusNode); } //Get private attribute in 'retweeted_status' GetPriNdInRetweetedStatus(mStatus, retweetedStatusNode); }
private void GetPriNdInRetweetedStatus(Status mStatus, XElement retweetedStatusNode) { //Get simple private attribute node in 'RetweetedStatus': 'thumbnail_pic', 'bmiddle_pic', 'original_pic' mStatus.RetweetedStatus.ThumbnailPic = GetEleValueInStatuses(retweetedStatusNode, "string", "thumbnail_pic"); mStatus.RetweetedStatus.BmiddlePic = GetEleValueInStatuses(retweetedStatusNode, "string", "bmiddle_pic"); mStatus.RetweetedStatus.OriginalPic = GetEleValueInStatuses(retweetedStatusNode, "string", "original_pic"); //GetUserInRetweetedStatus(mStatus, retweetedStatusNode); //1. Get basic 'User' node of 'UserRS' GetUserInStatuses(mStatus.RetweetedStatus.User, retweetedStatusNode); //2. Get private node of 'UserRS' mStatus.RetweetedStatus.User.CoverImagePhone = GetEleValueInStatuses(retweetedStatusNode, "string", "cover_image_phone"); }
//Get the value of private elements in 'Status' private void GetPriNdInStatus(Status mStatus, XElement statusesNode) { //Get 'retweeted_status' node value //GetRetweetedStatus(mStatus.RetweetedStatus, statusesNode); GetRetweetedStatus(mStatus, statusesNode); //Get 'rid' in 'Statuses' mStatus.Rid = GetEleValueInStatuses(statusesNode, "string", "rid"); //Get 'user' in 'Statuses' GetUserInStatuses(mStatus.User, statusesNode); //Get 'annotations' in 'Statuses' GetAnnotationsInStatuses(mStatus, statusesNode); }
//Get 'annotations' node in 'Statuses' private void GetAnnotationsInStatuses(Status mStatus, XElement statusesNode) { mStatus.Annotations.ClientMblogid = GetThirdLNValueInStatuses(statusesNode, "string", "annotations", "client_mblogid"); mStatus.Annotations.MapiRequest = GetThirdLNValueInStatuses(statusesNode, "string", "annotations", "mapi_request"); }