mirror of
				https://github.com/owncloud/android-library.git
				synced 2025-10-31 10:27:45 +00:00 
			
		
		
		
	OC-2678: Parse XMl Response, fix some problems in parsing method
This commit is contained in:
		
							parent
							
								
									f3453f138f
								
							
						
					
					
						commit
						7e9efcfb35
					
				| @ -199,6 +199,7 @@ public class ShareXMLParser { | |||||||
| 	 */ | 	 */ | ||||||
| 	private ArrayList<OCShare> readData(XmlPullParser parser) throws XmlPullParserException, IOException { | 	private ArrayList<OCShare> readData(XmlPullParser parser) throws XmlPullParserException, IOException { | ||||||
| 		ArrayList<OCShare> shares = new ArrayList<OCShare>(); | 		ArrayList<OCShare> shares = new ArrayList<OCShare>(); | ||||||
|  | 		OCShare share = null; | ||||||
| 
 | 
 | ||||||
| 		parser.require(XmlPullParser.START_TAG, ns, NODE_DATA);		 | 		parser.require(XmlPullParser.START_TAG, ns, NODE_DATA);		 | ||||||
| 		Log.d(TAG, "---- NODE DATA ---"); | 		Log.d(TAG, "---- NODE DATA ---"); | ||||||
| @ -209,34 +210,8 @@ public class ShareXMLParser { | |||||||
| 			String name = parser.getName(); | 			String name = parser.getName(); | ||||||
| 			if (name.equalsIgnoreCase(NODE_ELEMENT)) { | 			if (name.equalsIgnoreCase(NODE_ELEMENT)) { | ||||||
| 				shares.add(readElement(parser)); | 				shares.add(readElement(parser)); | ||||||
| 			}  else { | 			}  else {	// Parse Create XML Response | ||||||
| 				//skip(parser); | 				share = new OCShare(); | ||||||
| 				OCShare share = tryReadCreateXMLResponse(parser); |  | ||||||
| 				if (share.getIdRemoteShared() > -1) { |  | ||||||
| 					shares.add(share); |  | ||||||
| 				} |  | ||||||
| 			}  |  | ||||||
| 		} |  | ||||||
| 
 |  | ||||||
| 		return shares; |  | ||||||
| 
 |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	/**  |  | ||||||
| 	 * Parse Create XML Response |  | ||||||
| 	 * @param parser |  | ||||||
| 	 * @return |  | ||||||
| 	 */ |  | ||||||
| 	private OCShare tryReadCreateXMLResponse(XmlPullParser parser) throws XmlPullParserException, IOException { |  | ||||||
| 		OCShare share = new OCShare(); |  | ||||||
| 	 |  | ||||||
| 		Log.d(TAG, "---- Create Share Response ---"); |  | ||||||
| 		while (parser.next() != XmlPullParser.END_TAG) { |  | ||||||
| 			if (parser.getEventType() != XmlPullParser.START_TAG) { |  | ||||||
| 	            continue; |  | ||||||
| 	        } |  | ||||||
| 			 |  | ||||||
| 			String name = parser.getName(); |  | ||||||
| 				 | 				 | ||||||
| 				if (name.equalsIgnoreCase(NODE_ID)) { | 				if (name.equalsIgnoreCase(NODE_ID)) { | ||||||
| 					share.setIdRemoteShared(Integer.parseInt(readNode(parser, NODE_ID))); | 					share.setIdRemoteShared(Integer.parseInt(readNode(parser, NODE_ID))); | ||||||
| @ -246,14 +221,24 @@ public class ShareXMLParser { | |||||||
| 
 | 
 | ||||||
| 				}  else if (name.equalsIgnoreCase(NODE_TOKEN)) { | 				}  else if (name.equalsIgnoreCase(NODE_TOKEN)) { | ||||||
| 					share.setToken(readNode(parser, NODE_TOKEN)); | 					share.setToken(readNode(parser, NODE_TOKEN)); | ||||||
|  | 					 | ||||||
| 				} else { | 				} else { | ||||||
| 					skip(parser); | 					skip(parser); | ||||||
| 				}  | 				}  | ||||||
|  | 				 | ||||||
|  | 			}  | ||||||
| 		} | 		} | ||||||
| 		 | 		 | ||||||
| 		return share; | 		if (share != null) { | ||||||
|  | 			shares.add(share); | ||||||
| 		} | 		} | ||||||
| 			 | 			 | ||||||
|  | 
 | ||||||
|  | 		return shares; | ||||||
|  | 
 | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 	/**  | 	/**  | ||||||
| 	 * Parse Element node | 	 * Parse Element node | ||||||
| 	 * @param parser | 	 * @param parser | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user