private void skipNextStartTag() throws XMLStreamException { while (xmlEventReader.hasNext()) { final XMLEvent xmlEvent = xmlEventReader.nextEvent(); if (xmlEvent.isStartElement()) { return; } } }
private void setNextRecordStartTag() throws XMLStreamException { while (xmlEventReader.hasNext()) { final XMLEvent xmlEvent = xmlEventReader.nextEvent(); if (xmlEvent.isStartElement()) { final StartElement startElement = xmlEvent.asStartElement(); currentRecordStartTag = startElement; return; } } currentRecordStartTag = null; }
List<String> heldComments = new ArrayList<String>(1); while (streamReader.hasNext()) { XMLEvent nextEvent = streamReader.nextEvent(); try { StartElement elem = nextEvent.asStartElement(); String namespaceURI = elem.getName().getNamespaceURI(); if ("extension".equals(elem.getName().getLocalPart())) { Attribute urlAttr = elem.getAttributeByName(new QName("url")); String url; if (urlAttr == null || isBlank(urlAttr.getValue())) { } else if ("modifierExtension".equals(elem.getName().getLocalPart())) { Attribute urlAttr = elem.getAttributeByName(new QName("url")); String url; if (urlAttr == null || isBlank(urlAttr.getValue())) { String elementName = elem.getName().getLocalPart(); parserState.enteringNewElement(namespaceURI, elementName);
private EncryptionMethodType parseEncryptionMethod(XMLEventReader xmlEventReader) throws ParsingException { StartElement startElement = StaxParserUtil.getNextStartElement(xmlEventReader); StaxParserUtil.validate(startElement, JBossSAMLConstants.ENCRYPTION_METHOD.get()); Attribute algorithm = startElement.getAttributeByName(new QName("Algorithm")); EncryptionMethodType encryptionMethodType = new EncryptionMethodType(algorithm.getValue()); BigInteger keySize = null; byte[] OAEPparams = null; while (xmlEventReader.hasNext()) { XMLEvent xmlEvent = StaxParserUtil.peek(xmlEventReader); if (xmlEvent instanceof EndElement) { EndElement end = StaxParserUtil.getNextEndElement(xmlEventReader); StaxParserUtil.validate(end, JBossSAMLConstants.ENCRYPTION_METHOD.get()); break; } startElement = (StartElement) xmlEvent; String localPart = startElement.getName().getLocalPart(); if ("KeySize".equals(localPart)) { startElement = StaxParserUtil.getNextStartElement(xmlEventReader); keySize = BigInteger.valueOf(Long.valueOf(StaxParserUtil.getElementText(xmlEventReader))); } else if ("OAEPparams".equals(localPart)) { startElement = StaxParserUtil.getNextStartElement(xmlEventReader); OAEPparams = StaxParserUtil.getElementText(xmlEventReader).getBytes(); } else { throw logger.parserUnknownTag(localPart, startElement.getLocation()); } } EncryptionMethodType.EncryptionMethod encryptionMethod = new EncryptionMethodType.EncryptionMethod(keySize, OAEPparams); encryptionMethodType.setEncryptionMethod(encryptionMethod); return encryptionMethodType; }
while (xmlEventReader.hasNext()) { XMLEvent xmleve = (XMLEvent) xmlEventReader.next(); element = document.createElementNS(ele.getName() .getNamespaceURI(), ele.getName().getLocalPart()); element.setAttribute(attr.getName().getLocalPart(), attr.getValue()); element.setUserData("location", ele.getLocation(), null);
boolean documentEnded = false; int elementDepth = 0; while (this.reader.hasNext() && elementDepth >= 0) { XMLEvent event = this.reader.nextEvent(); if (!event.isStartDocument() && !event.isEndDocument() && !documentStarted) { handleStartDocument(event); case XMLStreamConstants.START_ELEMENT: elementDepth++; handleStartElement(event.asStartElement()); break; case XMLStreamConstants.END_ELEMENT:
private String entityRef(final XMLEventReader reader, final StartElement start) throws XMLStreamException { boolean foundEndElement = false; final Attribute entityRefId = start.getAttributeByName(Constants.QNAME_ATOM_ATTR_ID); while (reader.hasNext() && !foundEndElement) { final XMLEvent event = reader.nextEvent(); if (event.isEndElement() && start.getName().equals(event.asEndElement().getName())) { foundEndElement = true; } } return entityRefId.getValue(); }
/** * @see {@link org.keycloak.saml.common.parsers.ParserNamespaceSupport#parse(XMLEventReader)} */ @Override public Object parse(XMLEventReader xmlEventReader) throws ParsingException { while (xmlEventReader.hasNext()) { XMLEvent xmlEvent = StaxParserUtil.peek(xmlEventReader); if (xmlEvent instanceof StartElement) { StartElement startElement = (StartElement) xmlEvent; final QName name = startElement.getName(); ParserFactory pf = PARSERS.get(name); if (pf == null) { throw logger.parserException(new RuntimeException(ErrorCodes.UNKNOWN_START_ELEMENT + name + "::location=" + startElement.getLocation())); } return pf.create().parse(xmlEventReader); } StaxParserUtil.getNextEvent(xmlEventReader); } throw new RuntimeException(ErrorCodes.FAILED_PARSING + "SAML Parsing has failed"); } }
private void skipElement() throws XMLStreamException { while(xmlEventReader.hasNext()){ final XMLEvent xmlEvent = xmlEventReader.nextEvent(); if (xmlEvent.isStartElement()) { skipElement(); } if (xmlEvent.isEndElement()) { return; } } }
public static List<String> getXSDs(String wsdl) throws XMLStreamException { List<String> result = new ArrayList<String>(); XMLEventReader parser; synchronized(xmlInputFactory) { parser = xmlInputFactory.createXMLEventReader(new StringReader(wsdl)); } while (parser.hasNext()) { XMLEvent event = parser.nextEvent(); if (event.isStartElement()) { String name = event.asStartElement().getName().getLocalPart(); if (name.equals("import") || name.equals("include")) { Attribute a = event.asStartElement().getAttributeByName(new QName("schemaLocation")); if (a != null) result.add(a.getValue()); } } } return result; }
private EncryptionMethodType parseEncryptionMethod(XMLEventReader xmlEventReader) throws ParsingException { StartElement startElement = StaxParserUtil.getNextStartElement(xmlEventReader); StaxParserUtil.validate(startElement, JBossSAMLConstants.ENCRYPTION_METHOD.get()); Attribute algorithm = startElement.getAttributeByName(new QName("Algorithm")); EncryptionMethodType encryptionMethodType = new EncryptionMethodType(algorithm.getValue()); BigInteger keySize = null; byte[] OAEPparams = null; while (xmlEventReader.hasNext()) { XMLEvent xmlEvent = StaxParserUtil.peek(xmlEventReader); if (xmlEvent instanceof EndElement) { EndElement end = StaxParserUtil.getNextEndElement(xmlEventReader); StaxParserUtil.validate(end, JBossSAMLConstants.ENCRYPTION_METHOD.get()); break; } startElement = (StartElement) xmlEvent; String localPart = startElement.getName().getLocalPart(); if ("KeySize".equals(localPart)) { startElement = StaxParserUtil.getNextStartElement(xmlEventReader); keySize = BigInteger.valueOf(Long.valueOf(StaxParserUtil.getElementText(xmlEventReader))); } else if ("OAEPparams".equals(localPart)) { startElement = StaxParserUtil.getNextStartElement(xmlEventReader); OAEPparams = StaxParserUtil.getElementText(xmlEventReader).getBytes(); } else { throw logger.parserUnknownTag(localPart, startElement.getLocation()); } } EncryptionMethodType.EncryptionMethod encryptionMethod = new EncryptionMethodType.EncryptionMethod(keySize, OAEPparams); encryptionMethodType.setEncryptionMethod(encryptionMethod); return encryptionMethodType; }
boolean documentEnded = false; int elementDepth = 0; while (this.reader.hasNext() && elementDepth >= 0) { XMLEvent event = this.reader.nextEvent(); if (!event.isStartDocument() && !event.isEndDocument() && !documentStarted) { handleStartDocument(event); case XMLStreamConstants.START_ELEMENT: elementDepth++; handleStartElement(event.asStartElement()); break; case XMLStreamConstants.END_ELEMENT:
String ctxtTemplate = "<data xmlns=\"http://base\" xmlns:foo=\"http://foo\" />"; NamespaceContext nsContext = null; XMLInputFactory factory = XMLInputFactory.newInstance(); XMLEventReader evtReader = factory .createXMLEventReader(new StringReader(ctxtTemplate)); while (evtReader.hasNext()) { XMLEvent event = evtReader.nextEvent(); if (event.isStartElement()) { nsContext = ((StartElement) event) .getNamespaceContext(); break; } } System.out.println(nsContext.getNamespaceURI("")); System.out.println(nsContext.getNamespaceURI("foo")); System.out.println(nsContext .getNamespaceURI(XMLConstants.XMLNS_ATTRIBUTE)); System.out.println(nsContext .getNamespaceURI(XMLConstants.XML_NS_PREFIX));
private void handleInitialized(XMLEventReader eventReader) throws XMLStreamException { String currentElementName = ""; while (eventReader.hasNext() && !currentElementName.equals(INITIALIZED)) { XMLEvent event = eventReader.nextEvent(); if (event.isStartElement()) { StartElement startElement = event.asStartElement(); if (startElement.getName().getLocalPart().equals("attribute")) { String name = getAttributeValue(startElement, "name"); if (name != null && name.equals("gcPolicy")) { getLogger().info("gcPolicy = " + getAttributeValue(startElement, "value")); } } } else if (event.isEndElement()) { EndElement endElement = event.asEndElement(); currentElementName = endElement.getName().getLocalPart(); } } }
public boolean hasNext() throws XMLStreamException { this.nextBeingCalled = true; if (this.finalized) { // we finished already - no more to read return false; } if ((this.currentRow > 1) && (this.currentRow <= this.nextRow)) { // we still have to process an empty row return true; } // search for the next row while (this.xer.hasNext()) { XMLEvent xe = xer.nextEvent(); if (xe.isStartElement() && xe.asStartElement().getName().getLocalPart().equalsIgnoreCase("row")) { // we // found // a row // get row number. Attribute at = xe.asStartElement().getAttributeByName(new QName("r")); String atValue = at.getValue(); this.nextRow = Integer.valueOf(atValue); return true; } } this.finalized = true; return false; }
startElement = StaxParserUtil.getNextStartElement(xmlEventReader); Attribute indexAttr = startElement.getAttributeByName(new QName(JBossSAMLConstants.INDEX.get())); if (indexAttr == null) throw logger.parserRequiredAttribute("index"); while (xmlEventReader.hasNext()) { XMLEvent xmlEvent = StaxParserUtil.peek(xmlEventReader); if (xmlEvent instanceof EndElement) { String localPart = startElement.getName().getLocalPart(); attributeConsumer.addRequestedAttribute(attType); } else throw logger.parserUnknownTag(localPart, startElement.getLocation());
XMLInputFactory inFactory = XMLInputFactory.newInstance(); XMLEventReader eventReader = inFactory.createXMLEventReader(new FileInputStream("1.xml")); XMLOutputFactory factory = XMLOutputFactory.newInstance(); XMLEventWriter writer = factory.createXMLEventWriter(new FileWriter(file)); XMLEventFactory eventFactory = XMLEventFactory.newInstance(); while (eventReader.hasNext()) { XMLEvent event = eventReader.nextEvent(); writer.add(event); if (event.getEventType() == XMLEvent.START_ELEMENT) { if (event.asStartElement().getName().toString().equalsIgnoreCase("book")) { writer.add(eventFactory.createStartElement("", null, "index")); writer.add(eventFactory.createEndElement("", null, "index")); } } } writer.close();
private void read(XMLEventReader xmlEventReader) throws XMLStreamException { while (xmlEventReader.hasNext()) { XMLEvent xmlEvent = xmlEventReader.nextEvent(); switch (xmlEvent.getEventType()) { case XMLEvent.START_ELEMENT: addStartElement(xmlEvent); break; case XMLEvent.CHARACTERS: addCharacters(xmlEvent); break; case XMLEvent.END_ELEMENT: addEndEvent(xmlEvent); break; default: break; } } }