List of usage examples for org.w3c.dom Element getTagName
public String getTagName();
From source file:eu.semaine.util.XMLTool.java
/** * For the given element, return the value of the given attribute if it exists, * or complain with a MessageFormatException if it doesn't exist. * @param e the element whose attribute to return * @param attributeName the name of the attribute to look up. * @return the String value of the attribute if it exists * @throws MessageFormatException if the attribute doesn't exist. *///from w w w .ja v a 2s . c om public static String needAttribute(Element e, String attributeName) throws MessageFormatException { if (!e.hasAttribute(attributeName)) { throw new MessageFormatException("Element '" + e.getTagName() + "' in namespace '" + e.getNamespaceURI() + "' needs an attribute '" + attributeName + "'"); } return e.getAttribute(attributeName); }
From source file:DomUtils.java
private static String getXPathToken(Element element) { String tagName = element.getTagName(); int count = DomUtils.countElementsBefore(element, tagName); String xpathToken;/*from w w w . j a v a 2s . c o m*/ if (count > 0) { xpathToken = "/" + tagName + "[" + (count + 1) + "]"; } else { xpathToken = "/" + tagName; } return xpathToken; }
From source file:DomUtils.java
/** * Get the name from the supplied element. * <p/>//from w ww .j a v a2 s. c o m * Returns the {@link Node#getLocalName() localName} of the element * if set (namespaced element), otherwise the * element's {@link Element#getTagName() tagName} is returned. * @param element The element. * @return The element name. */ public static String getName(Element element) { String name = element.getLocalName(); if (name != null) { return name; } else { return element.getTagName(); } }
From source file:com.fujitsu.dc.test.utils.DavResourceUtils.java
/** * XML????????.//from w w w . j av a 2 s. c om * @param doc * @param tagName ?? * @return result ?? */ public static String getXmlNodeValue(final Document doc, final String tagName) { String result = null; Element root = doc.getDocumentElement(); // root???? assertEquals("multistatus", root.getTagName()); NodeList nl1 = root.getElementsByTagName(tagName); if (nl1 == null) { return null; } for (int i = 0; i < nl1.getLength(); i++) { result = (nl1.item(i)).getFirstChild().getNodeValue(); } return result; }
From source file:forge.quest.io.QuestDataIO.java
/** * <p>// w w w . j a va2s .co m * updateSaveFile. * </p> * * @param newData * a {@link forge.quest.data.QuestData} object. * @param input * a {@link java.lang.String} object. * @throws ParserConfigurationException * @throws IOException * @throws SAXException * @throws NoSuchFieldException * @throws IllegalAccessException */ private static void updateSaveFile(final QuestData newData, final String input, String filename) throws ParserConfigurationException, SAXException, IOException, IllegalAccessException, NoSuchFieldException { final DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); final InputSource is = new InputSource(); is.setCharacterStream(new StringReader(input)); final Document document = builder.parse(is); final int saveVersion = newData.getVersionNumber(); if (saveVersion < 3) { QuestDataIO.setFinalField(QuestData.class, "assets", newData, new QuestAssets(null)); final int diffIdx = Integer .parseInt(document.getElementsByTagName("diffIndex").item(0).getTextContent()); QuestDataIO.setFinalField(QuestData.class, "achievements", newData, new QuestAchievements(diffIdx)); } if (saveVersion < 4) { QuestDataIO.setFinalField(QuestAssets.class, "inventoryItems", newData.getAssets(), new EnumMap<QuestItemType, Integer>(QuestItemType.class)); } if (saveVersion < 5) { QuestDataIO.setFinalField(QuestAssets.class, "combatPets", newData.getAssets(), new HashMap<String, QuestItemCondition>()); } if (saveVersion < 6) { QuestDataIO.setFinalField(QuestData.class, "petSlots", newData, new HashMap<>()); } if (saveVersion < 8) { QuestDataIO.setFinalField(QuestData.class, "isCharmActive", newData, false); } final QuestAssets qS = newData.getAssets(); final QuestAchievements qA = newData.getAchievements(); switch (saveVersion) { // There should be a fall-through between the cases so that each // version's changes get applied progressively case 0: // First beta release with new file format, // inventory needs to be migrated QuestDataIO.setFinalField(QuestAssets.class, "inventoryItems", newData.getAssets(), new EnumMap<QuestItemType, Integer>(QuestItemType.class)); qS.setItemLevel(QuestItemType.ESTATES, Integer.parseInt(document.getElementsByTagName("estatesLevel").item(0).getTextContent())); qS.setItemLevel(QuestItemType.LUCKY_COIN, Integer.parseInt(document.getElementsByTagName("luckyCoinLevel").item(0).getTextContent())); qS.setItemLevel(QuestItemType.SLEIGHT, Integer.parseInt(document.getElementsByTagName("sleightOfHandLevel").item(0).getTextContent())); final int gearLevel = Integer .parseInt(document.getElementsByTagName("gearLevel").item(0).getTextContent()); if (gearLevel >= 1) { newData.getAssets().setItemLevel(QuestItemType.MAP, 1); } if (gearLevel == 2) { newData.getAssets().setItemLevel(QuestItemType.ZEPPELIN, 1); } //$FALL-THROUGH$ case 1: // nothing to do here, everything is managed by CardPoolToXml // deserializer case 2: // questdata was divided into assets and achievements if (StringUtils.isBlank(newData.getName())) { QuestDataIO.setFinalField(QuestData.class, "name", newData, filename); } QuestDataIO.setFinalField(QuestAchievements.class, "win", qA, Integer.parseInt(document.getElementsByTagName("win").item(0).getTextContent())); QuestDataIO.setFinalField(QuestAchievements.class, "lost", qA, Integer.parseInt(document.getElementsByTagName("lost").item(0).getTextContent())); Node nw; if ((nw = document.getElementsByTagName("winstreakBest").item(0)) != null) { QuestDataIO.setFinalField(QuestAchievements.class, "winstreakBest", qA, Integer.parseInt(nw.getTextContent())); } if ((nw = document.getElementsByTagName("winstreakCurrent").item(0)) != null) { QuestDataIO.setFinalField(QuestAchievements.class, "winstreakCurrent", qA, Integer.parseInt(nw.getTextContent())); } QuestDataIO.setFinalField(QuestAchievements.class, "challengesPlayed", qA, Integer.parseInt(document.getElementsByTagName("challengesPlayed").item(0).getTextContent())); final List<Integer> completedChallenges = new ArrayList<>(); QuestDataIO.setFinalField(QuestAchievements.class, "completedChallenges", qA, completedChallenges); if ((nw = document.getElementsByTagName("completedChallenges").item(0)) != null) { final NodeList ccs = nw.getChildNodes(); for (int iN = 0; iN < ccs.getLength(); iN++) { final Node n0 = ccs.item(iN); if (n0.getNodeType() != Node.ELEMENT_NODE) { continue; } completedChallenges.add(Integer.parseInt(n0.getTextContent())); } } final XStream xs = QuestDataIO.getSerializer(true); QuestDataIO.setFinalField(QuestAssets.class, "credits", qS, Integer.parseInt(document.getElementsByTagName("credits").item(0).getTextContent())); QuestDataIO.setFinalField(QuestAssets.class, "cardPool", qS, QuestDataIO.readAsset(xs, document, "cardPool", ItemPool.class)); QuestDataIO.setFinalField(QuestAssets.class, "myDecks", qS, QuestDataIO.readAsset(xs, document, "myDecks", HashMap.class)); QuestDataIO.setFinalField(QuestAssets.class, "shopList", qS, QuestDataIO.readAsset(xs, document, "shopList", ItemPool.class)); QuestDataIO.setFinalField(QuestAssets.class, "newCardList", qS, QuestDataIO.readAsset(xs, document, "newCardList", ItemPool.class)); //$FALL-THROUGH$ case 3: // QuestInventory class no longer exists - KV pairs of // QuestItemPair => level moved to assets final Node oldInventory = saveVersion > 0 ? document.getElementsByTagName("inventory").item(1) : null; if (null != oldInventory) { for (int iN = 0; iN < oldInventory.getChildNodes().getLength(); iN++) { final Node _n = oldInventory.getChildNodes().item(iN); if (_n.getNodeType() != Node.ELEMENT_NODE) { continue; } final Element n = (Element) _n; final String name = n.getElementsByTagName("string").item(0).getTextContent(); final QuestItemType qType = QuestItemType.valueFromSaveKey(name); int level = 0; for (int iX = 0; iX < n.getChildNodes().getLength(); iX++) { final Node _x = n.getChildNodes().item(iX); if (_x.getNodeType() != Node.ELEMENT_NODE) { continue; } final Element x = (Element) _x; if (!x.getTagName().startsWith("forge.quest.data.")) { continue; } final String sLevel = x.getElementsByTagName("level").item(0).getTextContent(); if (StringUtils.isNotBlank(sLevel)) { level = Integer.parseInt(sLevel); } } qS.setItemLevel(qType, level); } } //$FALL-THROUGH$ case 4: if (saveVersion > 0) { NodeList pets = document.getElementsByTagName("pets").item(0).getChildNodes(); for (int i = 0; i < pets.getLength(); i++) { if (pets.item(i).getNodeType() != Node.ELEMENT_NODE) { continue; } final Element entry = (Element) pets.item(i); String name = entry.getElementsByTagName("string").item(0).getTextContent(); String sLevel = entry.getElementsByTagName("level").item(0).getTextContent(); qS.setPetLevel(name, Integer.parseInt(sLevel)); } } // pet manager will be re-engineered here //$FALL-THROUGH$ case 5: case 6: // have to convert completed challenges list members to strings. for (int i = qA.getLockedChallenges().size() - 1; i >= 0; i--) { Object lc = qA.getLockedChallenges().get(i); if (lc != null) { qA.getLockedChallenges().set(i, lc.toString()); } } for (int i = qA.getCurrentChallenges().size() - 1; i >= 0; i--) { Object lc = qA.getCurrentChallenges().get(i); if (lc != null) { qA.getCurrentChallenges().set(i, lc.toString()); } } //$FALL-THROUGH$ case 7: case 8: QuestDataIO.setFinalField(QuestAssets.class, "draftDecks", qS, new HashMap<String, DeckGroup>()); break; } // mark the QD as the latest version newData.setVersionNumber(QuestData.CURRENT_VERSION_NUMBER); }
From source file:com.subgraph.vega.impl.scanner.forms.FormProcessor.java
private void processSingleFormElement(FormProcessingState fps, Element element) { if (element.getTagName().toLowerCase().equals("input")) processInputElement(fps, element); else//from w w w .j av a2s .c o m processOtherFormElement(fps, element); }
From source file:com.subgraph.vega.impl.scanner.forms.FormProcessor.java
private void processOtherFormElement(FormProcessingState fps, Element element) { final String tag = element.getTagName().toLowerCase(); if (tag.equals("textarea") || tag.equals("select") || tag.equals("button")) { final String name = decodeAttribute(element, "name"); if (name == null) return; final String value = decodeAttribute(element, "value"); if (value == null || value.isEmpty()) fps.addGuessedValue(name);/*ww w.j ava2 s .co m*/ else fps.add(name, value); } }
From source file:com.concursive.connect.web.modules.wiki.utils.HTMLToWikiUtils.java
private static boolean hasParentNodeType(Node n, String tagToMatch) { Node parent = n.getParentNode(); while (parent != null) { if (parent.getNodeType() == Node.ELEMENT_NODE) { Element element = ((Element) parent); String tag = element.getTagName(); if (tagToMatch.equals(tag)) { return true; }/*from w w w .j av a2 s . co m*/ } parent = parent.getParentNode(); } return false; }
From source file:com.concursive.connect.web.modules.wiki.utils.HTMLToWikiUtils.java
private static boolean hasImageNodes(NodeList nodeList) { for (int i = 0; i < nodeList.getLength(); i++) { Node n = nodeList.item(i); if (n != null) { if (n.getNodeType() == Node.ELEMENT_NODE) { Element element = ((Element) n); String tag = element.getTagName(); if ("img".equals(tag) || "object".equals(tag)) { return true; }// w ww . jav a 2s . co m } boolean found = hasImageNodes(n.getChildNodes()); if (found) { return true; } } } return false; }
From source file:com.concursive.connect.web.modules.wiki.utils.HTMLToWikiUtils.java
private static boolean hasNonTextNodes(NodeList nodeList) { for (int i = 0; i < nodeList.getLength(); i++) { Node n = nodeList.item(i); if (n != null) { if (n.getNodeType() == Node.ELEMENT_NODE) { Element element = ((Element) n); String tag = element.getTagName(); if ("table".equals(tag) || "ul".equals(tag) || "ol".equals(tag) || "p".equals(tag) || "div".equals(tag)) { return true; }/*from w ww. jav a2s .c o m*/ } boolean found = hasNonTextNodes(n.getChildNodes()); if (found) { return true; } } } return false; }