1
0
Fork 0
mirror of https://github.com/vanitasvitae/Smack.git synced 2025-09-10 09:39:39 +02:00

SMACK-288 - Parser is now advanced correctly to the end tag when parsing multiple items.

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@11574 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
rcollier 2010-01-29 13:50:23 +00:00
parent 5718a52133
commit e600fb02f5
3 changed files with 22 additions and 19 deletions

View file

@ -51,24 +51,19 @@ public class ItemProvider implements PacketExtensionProvider
if (ProviderManager.getInstance().getExtensionProvider(payloadElemName, payloadNS) == null)
{
boolean done = false;
String payloadText = null;
StringBuilder payloadText = new StringBuilder();
while (!done)
{
if (tag == XmlPullParser.END_TAG && parser.getName().equals(elem))
{
done = true;
}
else if (!((tag == XmlPullParser.START_TAG) && parser.isEmptyElementTag()))
{
if (payloadText == null)
payloadText = parser.getText();
else
payloadText += parser.getText();
}
tag = parser.next();
payloadText.append(parser.getText());
if (!done)
tag = parser.next();
}
return new PayloadItem<SimplePayload>(id, new SimplePayload(payloadElemName, payloadNS, payloadText));
return new PayloadItem<SimplePayload>(id, new SimplePayload(payloadElemName, payloadNS, payloadText.toString()));
}
else
{