Есть подобный XML код:
<response list="true">
<count>12</count>
<post>
<id>307</id>
<from_id>123</from_id>
<to_id>123</to_id>
<date>123892128</date>
<post_type>post</post_type>
<text>Smth TExt</text>
<attachments list="true">
<attachment>
<type>photo</type>
<photo>
<pid>123</pid>
<aid>-7</aid>
<owner_id>123</owner_id>
<src>
http://url.jpg
</src>
<src_big>
http://url.jpg
</src_big>
<src_small>
http://url.jpg
</src_small>
<src_xbig>
http://url.jpg
</src_xbig>
<src_xxbig>
http://url.jpg
</src_xxbig>
<src_xxxbig>
http://url.jpg
</src_xxxbig>
<width>990</width>
<height>1188</height>
<text/>
<created>135</created>
<access_key>67</access_key>
</photo>
</attachment>
<attachment>...</attachment>
<attachment>...</attachment>
<attachment>...</attachment>
<attachment>...</attachment>
</attachments>
<comments>
<count>0</count>
</comments>
<likes>
<count>2</count>
</likes>
<reposts>
<count>0</count>
</reposts>
</post>
<post>...</post>
<post>...</post>
</response>
Нужно получить значение из каждого элемента в post и записать их в подобные массивы, где переменная будет означать порядок сообщений.
int[] int_from_id;
int[] comments_count;
int[] owner_id;
string[,] srcofxxxbig; //where [№ post, № of att]
int[] commentscount;
Собственно то и вопрос - как сделать это?
Пробовал так:
private void name(){
XDocument parsedoc = XDocument.Parse(herelinktoxmldoc);
foreach (XElement i in parsedoc.Root.Elements())
{
if (w==0)
{
count = Convert.ToInt32(i.Value);
}
w++;
}
count += 0;
string[] post_from_id = new String[count];
string[] post_to_id = new String[count];
string[] post_date = new String[count];
string[] post_text = new String[count];
for (int i = 0; i < count; i++)
{
post_from_id[i] = ParsingXmlwoReq(wallxmlstring, "from_id");
post_to_id[i] = ParsingXmlwoReq(wallxmlstring, "to_id");
post_date[i] = ParsingXmlwoReq(wallxmlstring, "date");
post_text[i] = ParsingXmlwoReq(wallxmlstring, "text");
}
}
}
private string ParsingXmlwoReq(string request, string whatget)
{
XDocument parsedoc = XDocument.Parse(request);
string forreturn = "Null";
var get = (from uri in parsedoc.Descendants(whatget) select uri.Value);
foreach (var element in get)
{
forreturn = System.Convert.ToString(element);
}
return forreturn;
}