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:
parent
5718a52133
commit
e600fb02f5
3 changed files with 22 additions and 19 deletions
|
@ -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
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue