Example usage for org.w3c.dom Element getTagName

List of usage examples for org.w3c.dom Element getTagName

Introduction

In this page you can find the example usage for org.w3c.dom Element getTagName.

Prototype

public String getTagName();

Source Link

Document

The name of the element.

Usage

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;
}