@Override void onInit(Context context, int tagType, XmlPullParser parser) { try { if (tagType == TAG_ACTIVITY && (parser.getEventType() != XmlPullParser.START_TAG || !"activity".equals(parser.getName()))) { throw new IllegalStateException("unexpected xml parser state when parsing incremental component manifest."); } } catch (XmlPullParserException e) { throw new IllegalStateException(e); } }
private void skip() throws IOException, XmlPullParserException { if (mParser.getEventType() != XmlPullParser.START_TAG) { throw new IllegalStateException(); } int depth = 1; while (depth != 0) { switch (mParser.next()) { case XmlPullParser.END_TAG: depth--; break; case XmlPullParser.START_TAG: depth++; break; } } } }
@Override public Header parse(XmlPullParser parser, int initialDepth) throws XmlPullParserException, IOException { String name = parser.getAttributeValue(null, "name"); String value = null; parser.next(); if (parser.getEventType() == XmlPullParser.TEXT) { value = parser.getText(); } while (parser.getEventType() != XmlPullParser.END_TAG) { parser.next(); } return new Header(name, value); }
public void parseXml() throws XmlPullParserException, IOException { XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); XmlPullParser parser = factory.newPullParser(); parser.setInput(new StringReader( "<media:content medium=\"image\" url=\"http://msnbcmedia.msn.com/j/MSNBC/Components/Photo/_new/111010-romney-health-4p.thumb.jpg\">" + "<media:credit role=\"provider\">Getty Images file</media:credit>" + "<media:copyright>2010 Getty Images</media:copyright>" + "<media:text><![CDATA[<p><a href=\"http://www.msnbc.msn.com/id/44854320/ns/politics-decision_2012/\"><img align=\"left\" border=\"0\" src=\"http://msnbcmedia.msn.com/j/MSNBC/Components/Photo/_new/111010-romney-health-4p.thumb.jpg\" alt=\"Mitt Romney speaks at the National Press Club March 5, 2010 in Washington, D.C.\" style=\"margin:0 5px 5px 0\" /></a></p><br clear=\"all\" />]]></media:text>" + "</media:content>")); while (!"media:content".equals(parser.getName()) && parser.getEventType() != XmlPullParser.START_TAG) { parser.next(); } Log.d("media count -->", parser.getAttributeValue(null, "url")); }
public static StartTls parseStartTlsFeature(XmlPullParser parser) throws XmlPullParserException, IOException { assert (parser.getEventType() == XmlPullParser.START_TAG); assert (parser.getNamespace().equals(StartTls.NAMESPACE)); int initalDepth = parser.getDepth(); boolean required = false; outerloop: while (true) { int event = parser.next(); switch (event) { case XmlPullParser.START_TAG: String name = parser.getName(); switch (name) { case "required": required = true; break; } break; case XmlPullParser.END_TAG: if (parser.getDepth() == initalDepth) { break outerloop; } } } assert (parser.getEventType() == XmlPullParser.END_TAG); return new StartTls(required); }
/** * Retrieves a url from the "href" tag nested within an "Icon" tag, read by * the XmlPullParser. * * @return An image url */ private static String getImageUrl(XmlPullParser parser) throws IOException, XmlPullParserException { int eventType = parser.getEventType(); while (!(eventType == END_TAG && parser.getName().equals("Icon"))) { if (eventType == START_TAG && parser.getName().equals("href")) { return parser.nextText(); } eventType = parser.next(); } return null; }
public static XmlPullParser getParserFor(String stanza, String startTag) throws XmlPullParserException, IOException { XmlPullParser parser = getParserFor(stanza); while (true) { int event = parser.getEventType(); String name = parser.getName(); if (event == XmlPullParser.START_TAG && name.equals(startTag)) { break; } else if (event == XmlPullParser.END_DOCUMENT) { throw new IllegalArgumentException("Could not find start tag '" + startTag + "' in stanza: " + stanza); } parser.next(); } return parser; }
@Override protected void tlsNegotiated() throws XmlPullParserException, IOException { XmlPullParser xpp = socketReader.reader.getXPPParser(); // Reset the parser to use the new reader xpp.setInput(new InputStreamReader( socketReader.connection.getTLSStreamHandler().getInputStream(), CHARSET)); // Skip new stream element for (int eventType = xpp.getEventType(); eventType != XmlPullParser.START_TAG;) { eventType = xpp.next(); } super.tlsNegotiated(); }
public List<RssItem> parse() throws IOException, XmlPullParserException { ArrayList<RssItem> items = new ArrayList<RssItem>(); mParser.nextTag(); mParser.require(XmlPullParser.START_TAG, null, "rss"); mParser.nextTag(); mParser.require(XmlPullParser.START_TAG, null, "channel"); while (mParser.next() != XmlPullParser.END_TAG) { if (mParser.getEventType() != XmlPullParser.START_TAG) { continue; } String name = mParser.getName(); if (name.equals("item")) { items.add(readItem()); } else { skip(); } } return items; }
switch (xpp.getEventType()) { case (XmlPullParser.START_DOCUMENT): xmlSerializer.startDocument(null, false); break; case (XmlPullParser.START_TAG): xmlSerializer.startTag(xpp.getNamespace(), xpp.getName()); for (int i = 0; i < xpp.getAttributeCount(); i++) { xmlSerializer.attribute(xpp.getAttributeNamespace(i), xpp.getAttributeName(i), xmlSerializer.endTag(xpp.getNamespace(), xpp.getName()); break; case (XmlPullParser.TEXT): xmlSerializer.text(xpp.getText()); break; case (XmlPullParser.CDSECT): xmlSerializer.cdsect(xpp.getText()); break; case (XmlPullParser.ENTITY_REF): xmlSerializer.entityRef(xpp.getText()); break; case (XmlPullParser.IGNORABLE_WHITESPACE):
private @Nullable JSONObject convertToJSONObject() { try { Tag parentTag = new Tag("", "xml"); XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); factory.setNamespaceAware(false); // tags with namespace are taken as-is ("namespace:tagname") XmlPullParser xpp = factory.newPullParser(); setInput(xpp); int eventType = xpp.getEventType(); while (eventType != XmlPullParser.START_DOCUMENT) { eventType = xpp.next(); } readTags(parentTag, xpp); unsetInput(); return convertTagToJson(parentTag, false); } catch (XmlPullParserException | IOException e) { e.printStackTrace(); return null; } }
public MacroGroup parseMacroGroups(String macros) throws XmlPullParserException, IOException { MacroGroup group = null; XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser(); parser.setInput(new StringReader(macros)); int eventType = parser.getEventType(); while (eventType != XmlPullParser.END_DOCUMENT) { eventType = parser.next(); if (eventType == XmlPullParser.START_TAG) { if (parser.getName().equals("macrogroup")) { group = parseMacroGroup(parser); } } } return group; } }
XppDom node = null; int eventType = parser.getEventType(); while (eventType != XmlPullParser.END_DOCUMENT) { if (eventType == XmlPullParser.START_TAG) { String rawName = parser.getName(); int depth = values.size() - 1; StringBuffer valueBuffer = (StringBuffer)values.get(depth); valueBuffer.append(parser.getText()); } else if (eventType == XmlPullParser.END_TAG) { int depth = elements.size() - 1; eventType = parser.next();
/** * Sets the icon url for the style * * @param style Style to set the icon url to */ private static void setIconUrl(XmlPullParser parser, KmlStyle style) throws XmlPullParserException, IOException { int eventType = parser.getEventType(); while (!(eventType == END_TAG && parser.getName().equals(ICON_STYLE_URL))) { if (eventType == START_TAG && parser.getName().equals("href")) { style.setIconUrl(parser.nextText()); } eventType = parser.next(); } }
@Override public Subscription parse(XmlPullParser parser, int initialDepth) throws XmlPullParserException, IOException { Jid jid = ParserUtils.getJidAttribute(parser); String nodeId = parser.getAttributeValue(null, "node"); String subId = parser.getAttributeValue(null, "subid"); String state = parser.getAttributeValue(null, "subscription"); boolean isRequired = false; int tag = parser.next(); if ((tag == XmlPullParser.START_TAG) && parser.getName().equals("subscribe-options")) { tag = parser.next(); if ((tag == XmlPullParser.START_TAG) && parser.getName().equals("required")) isRequired = true; while (tag != XmlPullParser.END_TAG && !parser.getName().equals("subscribe-options")) tag = parser.next(); } while (parser.getEventType() != XmlPullParser.END_TAG) parser.next(); return new Subscription(jid, nodeId, subId, (state == null ? null : Subscription.State.valueOf(state)), isRequired); }
private static CharSequence parseContentDepthWithRoundtrip(XmlPullParser parser, int depth, boolean fullNamespaces) throws XmlPullParserException, IOException { StringBuilder sb = new StringBuilder(); int event = parser.getEventType(); outerloop: while (true) { // Only append the text if the parser is not on on an empty element' start tag. Empty elements are reported // twice, so in order to prevent duplication we only add their text when we are on their end tag. if (!(event == XmlPullParser.START_TAG && parser.isEmptyElementTag())) { CharSequence text = parser.getText(); if (event == XmlPullParser.TEXT) { text = StringUtils.escapeForXmlText(text); } sb.append(text); } if (event == XmlPullParser.END_TAG && parser.getDepth() <= depth) { break outerloop; } event = parser.next(); } return sb; }
pp.setInput(stream, encoding); } else { pp.setInput(reader); contentHandler.startDocument(); pp.next(); if(pp.getEventType() != XmlPullParser.START_TAG) { final SAXParseException saxException = new SAXParseException( "expected start tag not"+pp.getPositionDescription(), this);
public static XmlPullParser getParserFor(Reader reader) throws XmlPullParserException, IOException { XmlPullParser parser = newXmppParser(reader); // Wind the parser forward to the first start tag int event = parser.getEventType(); while (event != XmlPullParser.START_TAG) { if (event == XmlPullParser.END_DOCUMENT) { throw new IllegalArgumentException("Document contains no start tag"); } event = parser.next(); } return parser; }
@Override public void event(XmlPullParser pp) throws XmlPullParserException, IOException { int type = pp.getEventType(); if (type == XmlPullParser.START_TAG) { if ("manifest".equalsIgnoreCase(pp.getName())) { try { hidePackageInfo = parseManifest(pp); } catch (AndrolibException ignored) {} } else if ("uses-sdk".equalsIgnoreCase(pp.getName())) { try { hideSdkInfo = parseAttr(pp); if (hideSdkInfo) { return; } } catch (AndrolibException ignored) {} } } else if (hideSdkInfo && type == XmlPullParser.END_TAG && "uses-sdk".equalsIgnoreCase(pp.getName())) { return; } else if (hidePackageInfo && type == XmlPullParser.END_TAG && "manifest".equalsIgnoreCase(pp.getName())) { super.event(pp); return; } super.event(pp); }
private void populateMappingClasses() { try { XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); XmlPullParser xmlPullParser = factory.newPullParser(); xmlPullParser.setInput(getInputStream(), "UTF-8"); int eventType = xmlPullParser.getEventType(); while (eventType != XmlPullParser.END_DOCUMENT) { String nodeName = xmlPullParser.getName(); switch (eventType) { case XmlPullParser.START_TAG: { if ("mapping".equals(nodeName)) { String className = xmlPullParser.getAttributeValue("", "class"); mList.add(className); } break; } default: break; } eventType = xmlPullParser.next(); } } catch (XmlPullParserException e) { throw new ParseConfigurationFileException( ParseConfigurationFileException.FILE_FORMAT_IS_NOT_CORRECT); } catch (IOException e) { throw new ParseConfigurationFileException(ParseConfigurationFileException.IO_EXCEPTION); } }