List of usage examples for javax.xml.stream XMLStreamReader getAttributeValue
public String getAttributeValue(int index);
From source file:org.talend.dataprep.schema.xls.XlsUtils.java
/** * transform all attributes to a Map (key: att name, value: att value) * * @param streamReader// ww w. ja v a 2 s .co m * @return */ private static Map<String, String> getAttributesNameValue(XMLStreamReader streamReader) { int size = streamReader.getAttributeCount(); if (size > 0) { Map<String, String> attributesValues = new HashMap<>(size); for (int i = 0; i < size; i++) { String attributeName = streamReader.getAttributeLocalName(i); String attributeValue = streamReader.getAttributeValue(i); if (StringUtils.isNotEmpty(attributeName)) { attributesValues.put(attributeName, attributeValue); } } return attributesValues; } return Collections.emptyMap(); }
From source file:org.unitedinternet.cosmo.util.DomReader.java
private static Attr readAttribute(int i, Document d, XMLStreamReader reader) throws XMLStreamException { Attr a = null;/*from w ww . j av a 2 s. c o m*/ String local = reader.getAttributeLocalName(i); String ns = reader.getAttributeNamespace(i); if (ns != null && !ns.equals("")) { String prefix = reader.getAttributePrefix(i); String qualified = prefix != null ? prefix + ":" + local : local; a = d.createAttributeNS(ns, qualified); } else { a = d.createAttribute(reader.getAttributeLocalName(i)); } //if (log.isDebugEnabled()) //log.debug("Reading attribute " + a.getName()); a.setValue(reader.getAttributeValue(i)); return a; }
From source file:rjc.jplanner.model.Plan.java
/***************************************** loadXmlPlan *****************************************/ private int loadXmlPlan(XMLStreamReader xsr) throws XMLStreamException { // as calendars not yet loaded just keep calendar-id int calendarId = -1; // read XML plan attributes for (int i = 0; i < xsr.getAttributeCount(); i++) switch (xsr.getAttributeLocalName(i)) { case XmlLabels.XML_TITLE: m_title = xsr.getAttributeValue(i); break; case XmlLabels.XML_START: m_start = new DateTime(xsr.getAttributeValue(i)); break; case XmlLabels.XML_DT_FORMAT: m_datetimeFormat = xsr.getAttributeValue(i); break; case XmlLabels.XML_D_FORMAT: m_dateFormat = xsr.getAttributeValue(i); break; case XmlLabels.XML_CALENDAR: calendarId = Integer.parseInt(xsr.getAttributeValue(i)); break; case XmlLabels.XML_NOTES: m_notes = xsr.getAttributeValue(i); break; default://from w ww . j a va2s. c o m JPlanner.trace("Unhandled attribute '" + xsr.getAttributeLocalName(i) + "'"); break; } // return calendar-id to be set as default calendar return calendarId; }
From source file:rjc.jplanner.model.Plan.java
/*************************************** loadXmlJPlanner ***************************************/ private void loadXmlJPlanner(XMLStreamReader xsr) throws XMLStreamException { // read XML JPlanner attributes for (int i = 0; i < xsr.getAttributeCount(); i++) switch (xsr.getAttributeLocalName(i)) { case XmlLabels.XML_SAVEUSER: m_savedBy = xsr.getAttributeValue(i); break; case XmlLabels.XML_SAVEWHEN: m_savedWhen = new DateTime(xsr.getAttributeValue(i)); break; case XmlLabels.XML_FORMAT: case XmlLabels.XML_SAVENAME: case XmlLabels.XML_SAVEWHERE: break; default:/*from w w w.j ava 2s . c o m*/ JPlanner.trace("Unhandled attribute '" + xsr.getAttributeLocalName(i) + "'"); break; } }
From source file:tkwatch.Utilities.java
/** * Finds the value of the named element, if any, in an XML string. Adapted * from Vohra and Vohra, <i>Pro XML Development with Java Technology</i>, p. * 47.//from w w w .j a va2 s. c o m * * @param desiredElementName * The name of the element to search for in the XML string. * @param xmlString * The XML string to search for an account number. * * @return Returns the element value(s) as formatted in the incoming string * (if found) as a <code>Vector<String></code>, <code>null</code> * otherwise. */ public static final Vector<String> getValueFromXml(final String desiredElementName, final String xmlString) { Vector<String> elementValue = new Vector<String>(); String elementValueText = null; XMLInputFactory inputFactory = XMLInputFactory.newInstance(); try { String elementName = ""; StringReader stringReader = new StringReader(xmlString); XMLStreamReader reader = inputFactory.createXMLStreamReader(stringReader); while (reader.hasNext()) { int eventType = reader.getEventType(); switch (eventType) { case XMLStreamConstants.START_ELEMENT: elementName = reader.getLocalName(); if (elementName.equals(desiredElementName)) { elementValueText = reader.getAttributeValue(0); System.out.println("START_ELEMENT case, element name is " + elementName + ", element value is " + elementValueText); } break; case XMLStreamConstants.ATTRIBUTE: elementName = reader.getLocalName(); if (elementName.equals(desiredElementName)) { elementValueText = reader.getElementText(); System.out.println("ATTRIBUTE case, element name is " + elementName + ", element value is " + elementValueText); elementValue.add(elementValueText); } break; case XMLStreamConstants.END_ELEMENT: elementName = reader.getLocalName(); if (elementName.equals(desiredElementName)) { System.out.println("END_ELEMENT case, element name is " + elementName + ", element value is " + elementValueText); } break; default: elementName = reader.getLocalName(); if (elementName != null) { if (elementName.equals(desiredElementName)) { System.out.println("default case, element name is " + elementName); } } break; } reader.next(); } } catch (XMLStreamException e) { TradekingException.handleException(e); } return (elementValue.isEmpty() ? null : elementValue); }
From source file:tpt.dbweb.cat.io.TaggedTextXMLReader.java
private Iterator<TaggedText> getIterator(InputStream is, String errorMessageInfo) { XMLStreamReader tmpxsr = null; try {//from www. j a v a 2 s. c o m XMLInputFactory xif = XMLInputFactory.newInstance(); xif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, false); xif.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES, false); xif.setProperty(XMLInputFactory.IS_VALIDATING, false); tmpxsr = xif.createXMLStreamReader(is); } catch (XMLStreamException | FactoryConfigurationError e) { e.printStackTrace(); return null; } final XMLStreamReader xsr = tmpxsr; return new PeekIterator<TaggedText>() { @Override protected TaggedText internalNext() { ArrayList<TextSpan> openMarks = new ArrayList<>(); StringBuilder pureTextSB = new StringBuilder(); ArrayList<TextSpan> marks = new ArrayList<>(); marks.add(new TextSpan(null, 0, 0)); TaggedText tt = null; try { loop: while (xsr.hasNext()) { xsr.next(); int event = xsr.getEventType(); switch (event) { case XMLStreamConstants.START_ELEMENT: if ("articles".equals(xsr.getLocalName())) { } else if ("article".equals(xsr.getLocalName())) { tt = new TaggedText(); for (int i = 0; i < xsr.getAttributeCount(); i++) { if ("id".equals(xsr.getAttributeLocalName(i))) { tt.id = xsr.getAttributeValue(i); } tt.info().put(xsr.getAttributeLocalName(i), xsr.getAttributeValue(i)); } } else if ("mark".equals(xsr.getLocalName())) { TextSpan tr = new TextSpan(null, pureTextSB.length(), pureTextSB.length()); for (int i = 0; i < xsr.getAttributeCount(); i++) { tr.info().put(xsr.getAttributeLocalName(i), xsr.getAttributeValue(i)); } openMarks.add(tr); } else if ("br".equals(xsr.getLocalName())) { // TODO: how to propagate tags from the input to the output? } else { log.warn("ignore tag " + xsr.getLocalName()); } break; case XMLStreamConstants.END_ELEMENT: if ("mark".equals(xsr.getLocalName())) { // search corresponding <mark ...> TextSpan tr = openMarks.remove(openMarks.size() - 1); if (tr == null) { log.warn("markend at " + xsr.getLocation().getCharacterOffset() + " has no corresponding mark tag"); break; } tr.end = pureTextSB.length(); marks.add(tr); } else if ("article".equals(xsr.getLocalName())) { tt.text = StringUtils.stripEnd(pureTextSB.toString().trim(), " \t\n"); pureTextSB = new StringBuilder(); tt.mentions = new ArrayList<>(); for (TextSpan mark : marks) { String entity = mark.info().get("entity"); if (entity == null) { entity = mark.info().get("annotation"); } if (entity != null) { EntityMention e = new EntityMention(tt.text, mark.start, mark.end, entity); String minMention = mark.info().get("min"); String mention = e.getMention(); if (minMention != null && !"".equals(minMention)) { Pattern p = Pattern.compile(Pattern.quote(minMention)); Matcher m = p.matcher(mention); if (m.find()) { TextSpan min = new TextSpan(e.text, e.start + m.start(), e.start + m.end()); e.min = min; if (m.find()) { log.warn("found " + minMention + " two times in \"" + mention + "\""); } } else { String prefix = Utility.findLongestPrefix(mention, minMention); log.warn("didn't find min mention '" + minMention + "' in text '" + mention + "', longest prefix found: '" + prefix + "' in article " + tt.id); } } mark.info().remove("min"); mark.info().remove("entity"); if (mark.info().size() > 0) { e.info().putAll(mark.info()); } tt.mentions.add(e); } } openMarks.clear(); marks.clear(); break loop; } break; case XMLStreamConstants.CHARACTERS: String toadd = xsr.getText(); if (pureTextSB.length() == 0) { toadd = StringUtils.stripStart(toadd, " \t\n"); } if (toadd.contains("thanks")) { log.info("test"); } pureTextSB.append(toadd); break; } } } catch (XMLStreamException e) { log.error("{}", errorMessageInfo); throw new RuntimeException(e); } if (tt != null && tt.mentions != null) { tt.mentions.sort(null); } return tt; } }; }