List<ParsedItem> parse() throws IOException, XMLStreamException { while (reader.hasNext()) { parseNext(); } return results; }
private final int _skipUntilTag() throws XMLStreamException { while (_xmlReader.hasNext()) { int type; switch (type = _xmlReader.next()) { case XMLStreamConstants.START_ELEMENT: case XMLStreamConstants.END_ELEMENT: case XMLStreamConstants.END_DOCUMENT: return type; default: // any other type (proc instr, comment etc) is just ignored } } throw new IllegalStateException("Expected to find a tag, instead reached end of input"); }
private final int _skipUntilTag() throws XMLStreamException { while (_xmlReader.hasNext()) { int type; switch (type = _xmlReader.next()) { case XMLStreamConstants.START_ELEMENT: case XMLStreamConstants.END_ELEMENT: case XMLStreamConstants.END_DOCUMENT: return type; default: // any other type (proc instr, comment etc) is just ignored } } throw new IllegalStateException("Expected to find a tag, instead reached end of input"); }
protected void parseDemandSet(NetPlan netPlan, XMLStreamReader2 xmlStreamReader) throws XMLStreamException { while(xmlStreamReader.hasNext()) { xmlStreamReader.next(); switch(xmlStreamReader.getEventType()) { case XMLEvent.START_ELEMENT: String startElementName = xmlStreamReader.getName().toString(); switch(startElementName) { case "demandEntry": parseDemand(netPlan, xmlStreamReader); break; default: throw new RuntimeException("Bad"); } break; case XMLEvent.END_ELEMENT: String endElementName = xmlStreamReader.getName().toString(); if (endElementName.equals("demandSet")) return; break; } } throw new RuntimeException("'Demand set' element not parsed correctly (end tag not found)"); }
public static String getVersion(String file) throws XMLStreamException, IOException { BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file)); XMLInputFactory2 ifact = (XMLInputFactory2) XMLInputFactory.newInstance(); ifact.configureForXmlConformance(); XMLStreamReader2 staxXmlReader = (XMLStreamReader2) ifact.createXMLStreamReader(bis); String currentElement; while (staxXmlReader.hasNext()) { int event = staxXmlReader.next(); switch (event) { case XMLStreamConstants.START_ELEMENT: currentElement = staxXmlReader.getLocalName(); if (currentElement.equalsIgnoreCase("ONDEX")) { for (int i = 0; i < staxXmlReader.getAttributeCount(); i++) { if (staxXmlReader.getAttributeName(i).getLocalPart().equalsIgnoreCase("version")) { String result = staxXmlReader.getAttributeValue(i); bis.close(); return result; } } } } } return "1.0"; }
protected void parseProtectionInfo(NetPlan netPlan, XMLStreamReader2 xmlStreamReader) throws XMLStreamException { while(xmlStreamReader.hasNext()) { xmlStreamReader.next(); switch(xmlStreamReader.getEventType()) { case XMLEvent.START_ELEMENT: String startElementName = xmlStreamReader.getName().toString(); switch(startElementName) { case "protectionSegment": parseProtectionSegment(netPlan, xmlStreamReader); break; default: throw new RuntimeException("Bad"); } break; case XMLEvent.END_ELEMENT: String endElementName = xmlStreamReader.getName().toString(); if (endElementName.equals("protectionInfo")) return; break; } } throw new RuntimeException("'Protection info' element not parsed correctly (end tag not found)"); }
protected void parseRoutingInfo(NetPlan netPlan, XMLStreamReader2 xmlStreamReader) throws XMLStreamException { while(xmlStreamReader.hasNext()) { xmlStreamReader.next(); switch(xmlStreamReader.getEventType()) { case XMLEvent.START_ELEMENT: String startElementName = xmlStreamReader.getName().toString(); switch(startElementName) { case "route": parseRoute(netPlan, xmlStreamReader); break; default: throw new RuntimeException("Bad"); } break; case XMLEvent.END_ELEMENT: String endElementName = xmlStreamReader.getName().toString(); if (endElementName.equals("routingInfo")) return; break; } } throw new RuntimeException("'Routing info' element not parsed correctly (end tag not found)"); }
protected void parseSRGInfo(NetPlan netPlan, XMLStreamReader2 xmlStreamReader) throws XMLStreamException while(xmlStreamReader.hasNext())
Reader r = new StringReader("<foo><filedata encoding=\"base64\">largeChunkEncodedHere</filedata></foo>"); Writer w = new StringWriter(); XMLInputFactory2 xmlif = (XMLInputFactory2)XMLInputFactory2.newInstance(); XMLStreamReader2 sr = (XMLStreamReader2)xmlif.createXMLStreamReader(r); boolean flag = false; while (sr.hasNext()) { sr.next(); if (sr.getEventType() == XMLStreamConstants.START_ELEMENT) { if ("filedata".equals(sr.getLocalName())) { flag = true; } } else if (sr.getEventType() == XMLStreamConstants.CHARACTERS) { if (flag) { sr.getText(w, false); break; } } } System.out.println(w);
newLayer2RoutingTypeMap.put(mapOldId2Layer.get(layerId), RoutingType.SOURCE_ROUTING); while(xmlStreamReader.hasNext())
protected void parsePhysicalTopology(NetPlan netPlan, XMLStreamReader2 xmlStreamReader) throws XMLStreamException { while(xmlStreamReader.hasNext()) { xmlStreamReader.next(); switch(xmlStreamReader.getEventType()) { case XMLEvent.START_ELEMENT: String startElementName = xmlStreamReader.getName().toString(); switch(startElementName) { case "node": parseNode(netPlan, xmlStreamReader); break; case "link": parseLink(netPlan, xmlStreamReader); break; default: throw new RuntimeException("Bad"); } break; case XMLEvent.END_ELEMENT: String endElementName = xmlStreamReader.getName().toString(); if (endElementName.equals("physicalTopology")) return; break; } } throw new RuntimeException("'Physical topology' element not parsed correctly (end tag not found)"); }
while (xmlr.hasNext()) {
while(xmlStreamReader.hasNext())
protected void parseForwardingRule(NetPlan netPlan, long layerId, XMLStreamReader2 xmlStreamReader , DoubleMatrix2D f_de) throws XMLStreamException { long linkId = xmlStreamReader.getAttributeAsLong(xmlStreamReader.getAttributeIndex(null, "linkId")); long demandId = xmlStreamReader.getAttributeAsLong(xmlStreamReader.getAttributeIndex(null, "demandId")); double splittingRatio = xmlStreamReader.getAttributeAsDouble(xmlStreamReader.getAttributeIndex(null, "splittingRatio")); f_de.set (mapOldId2Demand.get(demandId).index , mapOldId2Link.get(linkId).index , splittingRatio); while(xmlStreamReader.hasNext()) { xmlStreamReader.next(); switch(xmlStreamReader.getEventType()) { case XMLEvent.START_ELEMENT: String startElementName = xmlStreamReader.getName().toString(); switch(startElementName) { case "attribute": break; default: throw new RuntimeException("Bad"); } break; case XMLEvent.END_ELEMENT: String endElementName = xmlStreamReader.getName().toString(); if (endElementName.equals("forwardingRule")) return; break; } } throw new RuntimeException("'Forwarding rule' element not parsed correctly (end tag not found)"); }
/** * Method called when we are about to return <code>END_DOCUMENT</code> event. * Usually this should change state to <code>STATE_END_OF_INPUT</code>, but * may vary for some alternative read modes (like multi-document) * * @since 4.2 */ protected void updateStateEndDocument() throws XMLStreamException { if (mCfgMultiDocMode) { // As per [woodstox-core#42] should allow reading over multiple documents... if (mReader.hasNext()) { // Let's sanity-check that we get token we expect however: int next = mReader.next(); if (next == START_DOCUMENT) { mPrePeekEvent = START_DOCUMENT; mPeekedEvent = createStartDocumentEvent(); mState = STATE_CONTENT; return; } reportProblem("Unexpected token ("+ErrorConsts.tokenTypeDesc(next) +") after END_DOCUMENT in multi-document mode, XMLStreamReader.hasNext() returning true"); } } mState = STATE_END_OF_INPUT; }
protected void parseForwardingRule(NetPlan netPlan, long layerId, XMLStreamReader2 xmlStreamReader , DoubleMatrix2D f_de) throws XMLStreamException { long linkId = xmlStreamReader.getAttributeAsLong(xmlStreamReader.getAttributeIndex(null, "linkId")); long demandId = xmlStreamReader.getAttributeAsLong(xmlStreamReader.getAttributeIndex(null, "demandId")); double splittingRatio = xmlStreamReader.getAttributeAsDouble(xmlStreamReader.getAttributeIndex(null, "splittingRatio")); f_de.set (mapOldId2Demand.get(Pair.of (layerId,demandId)).index , mapOldId2Link.get(Pair.of(layerId , linkId)).index , splittingRatio); while(xmlStreamReader.hasNext()) { xmlStreamReader.next(); switch(xmlStreamReader.getEventType()) { case XMLEvent.START_ELEMENT: String startElementName = xmlStreamReader.getName().toString(); switch(startElementName) { case "attribute": break; default: throw new RuntimeException("Bad"); } break; case XMLEvent.END_ELEMENT: String endElementName = xmlStreamReader.getName().toString(); if (endElementName.equals("forwardingRule")) return; break; } } throw new RuntimeException("'Forwarding rule' element not parsed correctly (end tag not found)"); }
/** * Method called when we are about to return <code>END_DOCUMENT</code> event. * Usually this should change state to <code>STATE_END_OF_INPUT</code>, but * may vary for some alternative read modes (like multi-document) * * @since 4.2 */ protected void updateStateEndDocument() throws XMLStreamException { if (mCfgMultiDocMode) { // As per [woodstox-core#42] should allow reading over multiple documents... if (mReader.hasNext()) { // Let's sanity-check that we get token we expect however: int next = mReader.next(); if (next == START_DOCUMENT) { mPrePeekEvent = START_DOCUMENT; mPeekedEvent = createStartDocumentEvent(); mState = STATE_CONTENT; return; } reportProblem("Unexpected token ("+ErrorConsts.tokenTypeDesc(next) +") after END_DOCUMENT in multi-document mode, XMLStreamReader.hasNext() returning true"); } } mState = STATE_END_OF_INPUT; }
private void readAndAddAttributesToEndAndPdForNodes (NetworkElement updateElement , String endingTag) throws XMLStreamException while(xmlStreamReader.hasNext())
break; } while (reader.hasNext());