List of usage examples for org.w3c.dom Element getNodeName
public String getNodeName();
From source file:it.unibas.spicy.persistence.xml.operators.ExportXSD.java
private void verifyMaxOccurs(Element element, INode node) { if (node.getFather() instanceof SetNode) { element.setAttribute("maxOccurs", "unbounded"); if (logger.isDebugEnabled()) logger.debug(" Attribute MaxOccours for element: " + element.getNodeName() + "- Node analyzed : " + node.getLabel());/*from w ww . ja va2 s . c o m*/ if (logger.isDebugEnabled()) logger.debug(" maxOccurs = " + element.getAttribute("maxOccurs")); } }
From source file:com.github.dozermapper.core.loader.xml.XMLParser.java
private DozerBuilder.FieldMappingBuilder determineFieldMap(DozerBuilder.MappingBuilder definitionBuilder, Element ele) {//from www . j ava2 s.c o m DozerBuilder.FieldMappingBuilder fieldMapBuilder = definitionBuilder.field(); NodeList nl = ele.getChildNodes(); for (int i = 0; i < nl.getLength(); i++) { Node node = nl.item(i); if (node instanceof Element) { Element element = (Element) node; if (A_ELEMENT.equals(element.getNodeName())) { String name = getNodeValue(element); String type = getAttribute(element, TYPE_ATTRIBUTE); DozerBuilder.FieldDefinitionBuilder builder = fieldMapBuilder.a(name, type); parseField(element, builder); } if (B_ELEMENT.equals(element.getNodeName())) { String name = getNodeValue(element); String type = getAttribute(element, TYPE_ATTRIBUTE); DozerBuilder.FieldDefinitionBuilder builder = fieldMapBuilder.b(name, type); parseField(element, builder); } } } return fieldMapBuilder; }
From source file:com.acrutiapps.browser.tasks.HistoryBookmarksImportTask.java
private String readAsXml(File file) { List<ContentValues> values = null; try {//from w ww. ja va2s.com publishProgress(1, 0, 0); values = new ArrayList<ContentValues>(); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder; builder = factory.newDocumentBuilder(); Document document = builder.parse(file); Element root = document.getDocumentElement(); if ((root != null) && (root.getNodeName().equals("itemlist"))) { NodeList itemsList = root.getElementsByTagName("item"); int progress = 0; int total = itemsList.getLength(); Node item; NodeList record; Node dataItem; for (int i = 0; i < itemsList.getLength(); i++) { publishProgress(2, progress, total); item = itemsList.item(i); if (item != null) { record = item.getChildNodes(); String title = null; String url = null; int visits = 0; long visitedDate = -1; long creationDate = -1; int bookmark = 0; for (int j = 0; j < record.getLength(); j++) { dataItem = record.item(j); if ((dataItem != null) && (dataItem.getNodeName() != null)) { if (dataItem.getNodeName().equals("title")) { title = URLDecoder.decode(getNodeContent(dataItem), "UTF-8"); } else if (dataItem.getNodeName().equals("url")) { url = URLDecoder.decode(getNodeContent(dataItem), "UTF-8"); } else if (dataItem.getNodeName().equals("visits")) { try { visits = Integer.parseInt(getNodeContent(dataItem)); } catch (Exception e) { visits = 0; } } else if (dataItem.getNodeName().equals("visiteddate")) { try { visitedDate = Long.parseLong(getNodeContent(dataItem)); } catch (Exception e) { visitedDate = -1; } } else if (dataItem.getNodeName().equals("creationdate")) { try { creationDate = Long.parseLong(getNodeContent(dataItem)); } catch (Exception e) { creationDate = -1; } } else if (dataItem.getNodeName().equals("bookmark")) { try { bookmark = Integer.parseInt(getNodeContent(dataItem)); } catch (Exception e) { bookmark = 0; } } } } values.add(createContentValues(title, url, visits, visitedDate, creationDate, bookmark)); } progress++; } } } catch (ParserConfigurationException e) { return e.getMessage(); } catch (SAXException e) { return e.getMessage(); } catch (IOException e) { return e.getMessage(); } if (values != null) { publishProgress(7, 0, 0); mContext.getContentResolver().bulkInsert(BookmarksProvider.BOOKMARKS_URI, values.toArray(new ContentValues[values.size()])); } return null; }
From source file:com.github.dozermapper.core.loader.xml.XMLParser.java
private void parseFieldElements(Element element, DozerBuilder.FieldBuider fieldMapBuilder) { if (A_ELEMENT.equals(element.getNodeName())) { String name = getNodeValue(element); String type = getAttribute(element, TYPE_ATTRIBUTE); DozerBuilder.FieldDefinitionBuilder fieldBuilder = fieldMapBuilder.a(name, type); parseField(element, fieldBuilder); }//from ww w . ja va2 s. c o m if (B_ELEMENT.equals(element.getNodeName())) { String name = getNodeValue(element); String type = getAttribute(element, TYPE_ATTRIBUTE); DozerBuilder.FieldDefinitionBuilder fieldBuilder = fieldMapBuilder.b(name, type); parseField(element, fieldBuilder); } }
From source file:com.bstek.dorado.config.xml.DispatchableXmlParser.java
/** * ?XML?????/*from w ww . j a v a2 s .c om*/ * * @param element * XML * @param context * ? * @return ? * @throws Exception */ protected Object dispatchElement(String pathPrefix, Element child, ParseContext context) throws Exception { String path = PathUtils.concatPath(pathPrefix, child.getNodeName()); XmlParser parser = subParsers.get(path); if (parser != null) { return parser.parse(child, context); } else { if (subParsers.hasConditionalParser) { for (Map.Entry<String, ParserInfo> entry : subParsers.subParserInfoMap.entrySet()) { String subParserPath = entry.getKey(); ParserInfo parserInfo = entry.getValue(); Map<String, String> fixedProperties = parserInfo.getFixedProperties(); if (fixedProperties == null || !subParserPath.startsWith(path + '[')) { continue; } boolean according = true; for (Map.Entry<String, String> propEntry : fixedProperties.entrySet()) { if (!ObjectUtils.equals(child.getAttribute(propEntry.getKey()), propEntry.getValue())) { according = false; break; } } if (according) { parser = parserInfo.getParser(); return parser.parse(child, context); } } } parser = subParsers.get(PathUtils.concatPath(pathPrefix, WILDCARD)); if (parser != null) { return parser.parse(child, context); } else { return ConfigUtils.IGNORE_VALUE; } } }
From source file:com.streamsets.pipeline.stage.processor.xmlflattener.XMLFlatteningProcessor.java
private void processXML(Record record, boolean currentlyInRecord, XMLNode current, List<Record> recordList, Record originalRecord) throws DOMException { NodeList nodeList = current.element.getChildNodes(); // Preprocess the child Nodes to avoid having to do it each time we hit a new element. if (currentlyInRecord) { Set<String> nodes = new HashSet<>(); for (int i = 0; i < nodeList.getLength(); i++) { Node next = nodeList.item(i); if (next.getNodeType() == Node.ELEMENT_NODE) { Element e = (Element) next; // We already saw the same name once before. Add it to the current element's map. if (nodes.contains(e.getTagName()) && !current.nodeCounters.containsKey(e.getTagName())) { current.nodeCounters.put(e.getTagName(), 0); } else { nodes.add(e.getTagName()); }/*from w w w.j a va 2 s . c om*/ } } } for (int i = 0; i < nodeList.getLength(); i++) { Node next = nodeList.item(i); // Text node - add it as a field, if we are currently in a record if (currentlyInRecord && next.getNodeType() == Node.TEXT_NODE) { String text = ((Text) next).getWholeText(); if (text.trim().isEmpty()) { continue; } // If we don't need to keep existing fields, just write // If we need to keep existing fields, overwrite only if the original field does not exist // If we need to keep existing fields, and the current record has the path, overwrite only if newFieldsOverwrite if (!keepExistingFields || !record.has(getPathPrefix() + current.prefix) || newFieldsOverwrite) { ensureOutputFieldExists(record); record.set(getPathPrefix() + current.prefix, Field.create(text)); } } else if (next.getNodeType() == Node.ELEMENT_NODE) { Element element = (Element) next; String tagName = element.getTagName(); String elementPrefix; // If we are not in a record and this is the delimiter, then create a new record to fill in. if (!currentlyInRecord && element.getNodeName().equals(recordDelimiter)) { // Create a new record elementPrefix = tagName; //Increment record count flattenerPerRecordCount++; Record newR; //Add the node index as sourceRecordIdPostFix for newly created/cloned record. if (keepExistingFields) { newR = getContext().cloneRecord(originalRecord, String.valueOf(flattenerPerRecordCount)); } else { newR = getContext().createRecord(originalRecord, String.valueOf(flattenerPerRecordCount)); newR.set(Field.create(new HashMap<String, Field>())); } ensureOutputFieldExists(newR); recordList.add(newR); addAttrs(newR, element, elementPrefix); processXML(newR, true, new XMLNode(element, tagName), recordList, record); } else { // This is not a record delimiter, or we are currently already in a record // Check if this is the first time we are seeing this prefix? // The map tracks the next index to append. If the map does not have the key, don't add an index. elementPrefix = current.prefix + fieldDelimiter + tagName; if (current.nodeCounters.containsKey(tagName)) { Integer nextCount = current.nodeCounters.get(tagName); elementPrefix = elementPrefix + "(" + nextCount.toString() + ")"; current.nodeCounters.put(tagName, nextCount + 1); } if (currentlyInRecord) { addAttrs(record, element, elementPrefix); } XMLNode nextNode = new XMLNode(element, elementPrefix); processXML(record, currentlyInRecord, nextNode, recordList, record); } } } }
From source file:uk.co.markfrimston.tasktree.TaskTree.java
protected void addTasksFromChildElements(Element parent, DefaultMutableTreeNode treeNode) throws Exception { Iterator<Element> i = getElementChildren(parent); while (i.hasNext()) { Element child = i.next(); if (!child.getNodeName().equals("task")) { throw new Exception("Expected \"task\", found \"" + child.getNodeName() + "\""); }//from w ww .j a v a2 s. com String name = child.getAttribute("label"); if (name == null || name.length() == 0) { throw new Exception("No label attribute for task"); } DefaultMutableTreeNode newNode = addTask(treeNode, treeNode.getChildCount(), name); addTasksFromChildElements(child, newNode); } }
From source file:com.amalto.core.history.UniqueIdTransformer.java
private void _addIds(org.w3c.dom.Document document, Element element, Stack<Integer> levels) { NamedNodeMap attributes = element.getAttributes(); Attr id = document.createAttribute(ID_ATTRIBUTE_NAME); int thisElementId = levels.pop() + 1; StringBuilder builder;//from w w w. jav a 2 s .c om { builder = new StringBuilder(); for (Integer level : levels) { builder.append(level); } } String prefix = builder.toString().isEmpty() ? StringUtils.EMPTY : builder.toString() + '-'; id.setValue(prefix + element.getNodeName() + '-' + thisElementId); attributes.setNamedItem(id); levels.push(thisElementId); { levels.push(0); NodeList children = element.getChildNodes(); for (int i = 0; i < children.getLength(); i++) { if (children.item(i).getNodeType() == Node.ELEMENT_NODE) { Element child = (Element) children.item(i); _addIds(document, child, levels); } } levels.pop(); } }
From source file:de.xwic.appkit.core.config.XmlConfigLoader.java
/** * Returns the text of the first childNode with the given nodeName. Returns * <code>null</code> if no childNode with the specified nodeName was found. * /*from ww w . j a v a 2 s. c o m*/ * @param node * @param nodeName * @return */ private String getFirstChildValue(Element node, String nodeName) { NodeList nl = node.getChildNodes(); for (int i = 0; i < nl.getLength(); i++) { Node child = nl.item(i); if (child.getNodeType() == Node.ELEMENT_NODE) { Element element = (Element) child; if (element.getNodeName().equals(nodeName)) { return getNodeText(element); } } } return null; }
From source file:com.github.dozermapper.core.loader.xml.XMLParser.java
private void parseVariables(Element element) { NodeList nl = element.getChildNodes(); for (int i = 0; i < nl.getLength(); i++) { Node node = nl.item(i);//from w ww.j a v a 2 s . c om if (node instanceof Element) { Element ele = (Element) node; debugElement(ele); if (VARIABLE_ELEMENT.equals(ele.getNodeName())) { ELEngine engine = beanContainer.getElEngine(); if (engine != null) { String name = getAttribute(ele, NAME_ATTRIBUTE); String value = getNodeValue(ele); engine.setVariable(name, value); } } } } }