The Result is correct for the 1st occurence, but the second one starts with the tag for the 2nd occurence and includes every other tag after. So with my example above my results look like this.
You haven’t really supplied enough information such that anyone else could duplicate your results. I did some tests on tagdata(, however, and it was able to correctly retrieve more than one tag occurrence. I tried the data you supplied above and had no problem extracting the second occurrence.
I don’t see how your second tagdata( function works at all. since there are several extra blanks in front of <description>.