Example usage for org.w3c.dom Element getParentNode

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

Introduction

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

Prototype

public Node getParentNode();

Source Link

Document

The parent of this node.

Usage

From source file:org.openestate.io.openimmo.converters.OpenImmo_1_2_2.java

/**
 * Remove <provisionspflichtig> elements.
 * <p>/*from   w w w. jav  a2  s  .c  o m*/
 * OpenImmo 1.2.1 does not support &lt;provisionspflichtig&gt; elements.
 *
 * @param doc OpenImmo document in version 1.2.2
 * @throws JaxenException
 */
protected void removeProvisionspflichtigElements(Document doc) throws JaxenException {
    List nodes = XmlUtils
            .newXPath("/io:openimmo/io:anbieter/io:immobilie/io:preise/io:provisionspflichtig", doc)
            .selectNodes(doc);
    for (Object item : nodes) {
        Element node = (Element) item;
        Element parentNode = (Element) node.getParentNode();
        parentNode.removeChild(node);
    }
}

From source file:org.openestate.io.openimmo.converters.OpenImmo_1_2_2.java

/**
 * Remove &lt;versteigerung&gt; elements.
 * <p>/*from   www. j a v  a2 s. c om*/
 * OpenImmo 1.2.1 does not support &lt;versteigerung&gt; elements.
 *
 * @param doc OpenImmo document in version 1.2.2
 * @throws JaxenException
 */
protected void removeVersteigerungElements(Document doc) throws JaxenException {
    List nodes = XmlUtils.newXPath("/io:openimmo/io:anbieter/io:immobilie/io:versteigerung", doc)
            .selectNodes(doc);
    for (Object item : nodes) {
        Element node = (Element) item;
        Element parentNode = (Element) node.getParentNode();
        parentNode.removeChild(node);
    }
}

From source file:org.openestate.io.openimmo.converters.OpenImmo_1_2_2.java

/**
 * Upgrade &lt;energiepass&gt; elements to OpenImmo 1.2.2.
 * <p>//w ww  .  j  a v a  2 s . c o  m
 * The &lt;art&gt; child element of the &lt;energiepass&gt; element is
 * renamed to &lt;epart&gt; in version 1.2.2.
 *
 * @param doc OpenImmo document in version 1.2.1
 * @throws JaxenException
 */
protected void upgradeEnergiepassElements(Document doc) throws JaxenException {
    List nodes = XmlUtils
            .newXPath("/io:openimmo/io:anbieter/io:immobilie/io:zustand_angaben/io:energiepass/io:art", doc)
            .selectNodes(doc);
    for (Object item : nodes) {
        Element node = (Element) item;
        Element parentNode = (Element) node.getParentNode();

        Element newNode = doc.createElementNS(StringUtils.EMPTY, "epart");
        newNode.setTextContent(node.getTextContent());

        parentNode.replaceChild(newNode, node);
    }
}

From source file:org.openestate.io.openimmo.converters.OpenImmo_1_2_3.java

/**
 * Replace &lt;parken&gt; elements with &lt;sonstige&gt; elements.
 * <p>/*from   www  .  j a v a 2 s  .  com*/
 * OpenImmo 1.2.2 does not support &lt;parken&gt; elements. Any occurence is
 * converted into &lt;sonstige&gt; elements.
 *
 * @param doc OpenImmo document in version 1.2.3
 * @throws JaxenException
 */
protected void downgradeParkenElements(Document doc) throws JaxenException {
    List nodes = XmlUtils
            .newXPath("/io:openimmo/io:anbieter/io:immobilie/io:objektkategorie/io:objektart/io:parken", doc)
            .selectNodes(doc);
    for (Object item : nodes) {
        Element node = (Element) item;
        Element parentNode = (Element) node.getParentNode();
        parentNode.removeChild(node);

        Element newNode = doc.createElementNS(StringUtils.EMPTY, "sonstige");
        newNode.setAttribute("sonstige_typ", "PARKFLACHE");
        parentNode.appendChild(newNode);
    }
}

From source file:org.openestate.io.openimmo.converters.OpenImmo_1_2_3.java

/**
 * Downgrade &lt;sonstige&gt; elements to OpenImmo 1.2.2.
 * <p>/*  w  w  w  .j  a  v  a  2s.  com*/
 * The option "KRANKENHAUS" for the "sonstige_typ"
 * attribute of &lt;sonstige&gt; elements is placed in the &lt;haus&gt;
 * element in version 1.2.2.
 *
 * @param doc OpenImmo document in version 1.2.3
 * @throws JaxenException
 */
protected void downgradeSonstigeElements(Document doc) throws JaxenException {
    List nodes = XmlUtils.newXPath(
            "/io:openimmo/io:anbieter/io:immobilie/io:objektkategorie/io:objektart/io:sonstige[@sonstige_typ]",
            doc).selectNodes(doc);
    for (Object item : nodes) {
        Element node = (Element) item;
        Element parent = (Element) node.getParentNode();
        String value = StringUtils.trimToNull(node.getAttribute("sonstige_typ"));
        if ("KRANKENHAUS".equalsIgnoreCase(value)) {
            parent.removeChild(node);
            Element newNode = doc.createElementNS(StringUtils.EMPTY, "haus");
            newNode.setAttribute("haustyp", "KRANKENHAUS");
            parent.appendChild(newNode);
        }
    }
}

From source file:org.openestate.io.openimmo.converters.OpenImmo_1_2_3.java

/**
 * Downgrade &lt;zinshaus_renditeobjekt&gt; elements to OpenImmo 1.2.2.
 * <p>/*from   ww w . j a va2 s .co  m*/
 * The options "PFLEGEHEIM", "SANATORIUM", "SENIORENHEIM", "BETREUTES-WOHNEN"
 * for the "zins_typ" attribute of &lt;zinshaus_renditeobjekt&gt; elements are
 * placed in the &lt;haus&gt; element in version 1.2.2.
 *
 * @param doc OpenImmo document in version 1.2.3
 * @throws JaxenException
 */
protected void downgradeZinshausRenditeobjektElements(Document doc) throws JaxenException {
    List nodes = XmlUtils.newXPath(
            "/io:openimmo/io:anbieter/io:immobilie/io:objektkategorie/io:objektart/io:zinshaus_renditeobjekt[@zins_typ]",
            doc).selectNodes(doc);
    for (Object item : nodes) {
        Element node = (Element) item;
        Element parent = (Element) node.getParentNode();
        String value = StringUtils.trimToNull(node.getAttribute("zins_typ"));
        if ("PFLEGEHEIM".equalsIgnoreCase(value)) {
            parent.removeChild(node);
            Element newNode = doc.createElementNS(StringUtils.EMPTY, "haus");
            newNode.setAttribute("haustyp", "PFLEGEHEIM");
            parent.appendChild(newNode);
        } else if ("SANATORIUM".equalsIgnoreCase(value)) {
            parent.removeChild(node);
            Element newNode = doc.createElementNS(StringUtils.EMPTY, "haus");
            newNode.setAttribute("haustyp", "SANATORIUM");
            parent.appendChild(newNode);
        } else if ("SENIORENHEIM".equalsIgnoreCase(value)) {
            parent.removeChild(node);
            Element newNode = doc.createElementNS(StringUtils.EMPTY, "haus");
            newNode.setAttribute("haustyp", "SENIORENHEIM");
            parent.appendChild(newNode);
        } else if ("BETREUTES-WOHNEN".equalsIgnoreCase(value)) {
            parent.removeChild(node);
            Element newNode = doc.createElementNS(StringUtils.EMPTY, "haus");
            newNode.setAttribute("haustyp", "BETREUTES-WOHNEN");
            parent.appendChild(newNode);
        }
    }
}

From source file:org.openestate.io.openimmo.converters.OpenImmo_1_2_3.java

/**
 * Remove unsupported children from all &lt;ausstattung&gt; elements.
 * <p>// ww  w.j  ava2s. co m
 * OpenImmo 1.2.2 does not support the following children for
 * &lt;ausstattung&gt; elements: &lt;energietyp&gt;, &lt;bibliothek&gt;,
 * &lt;dachboden&gt;, &lt;gaestewc&gt;, &lt;kabelkanaele&gt;,
 * &lt;seniorengerecht&gt;
 * <p>
 * These elements are removed by this function.
 *
 * @param doc OpenImmo document in version 1.2.3
 * @throws JaxenException
 */
protected void removeAusstattungChildElements(Document doc) throws JaxenException {
    List nodes = XmlUtils
            .newXPath("/io:openimmo/io:anbieter/io:immobilie/io:ausstattung/io:energietyp | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:ausstattung/io:bibliothek | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:ausstattung/io:dachboden | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:ausstattung/io:gaestewc | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:ausstattung/io:kabelkanaele | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:ausstattung/io:seniorengerecht", doc)
            .selectNodes(doc);
    for (Object item : nodes) {
        Element node = (Element) item;
        Element parentNode = (Element) node.getParentNode();
        parentNode.removeChild(node);
    }
}

From source file:org.openestate.io.openimmo.converters.OpenImmo_1_2_3.java

/**
 * Remove &lt;email_feedback&gt; elements.
 * <p>/*from ww  w  .  j a  v a 2 s . c  o m*/
 * OpenImmo 1.2.2 does not support &lt;email_feedback&gt; elements.
 *
 * @param doc OpenImmo document in version 1.2.3
 * @throws JaxenException
 */
protected void removeEmailFeedbackElements(Document doc) throws JaxenException {
    List nodes = XmlUtils
            .newXPath("/io:openimmo/io:anbieter/io:immobilie/io:kontaktperson/io:email_feedback", doc)
            .selectNodes(doc);
    for (Object item : nodes) {
        Element node = (Element) item;
        Element parentNode = (Element) node.getParentNode();
        parentNode.removeChild(node);
    }
}

From source file:org.openestate.io.openimmo.converters.OpenImmo_1_2_3.java

/**
 * Remove unsupported children from all &lt;preise&gt; elements.
 * <p>/*  w w  w . j a  v  a 2 s.  c o m*/
 * OpenImmo 1.2.2 does not support the following children for
 * &lt;preise&gt; elements: &lt;courtage_hinweis&gt;,
 * &lt;nettorendite_soll&gt;, &lt;nettorendite_ist&gt;
 * <p>
 * These elements are removed by this function.
 *
 * @param doc OpenImmo document in version 1.2.3
 * @throws JaxenException
 */
protected void removePreiseChildElements(Document doc) throws JaxenException {
    List nodes = XmlUtils
            .newXPath("/io:openimmo/io:anbieter/io:immobilie/io:preise/io:courtage_hinweis | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:nettorendite_soll | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:nettorendite_ist", doc)
            .selectNodes(doc);
    for (Object item : nodes) {
        Element node = (Element) item;
        Element parentNode = (Element) node.getParentNode();
        parentNode.removeChild(node);
    }
}

From source file:org.openestate.io.openimmo.converters.OpenImmo_1_2_3.java

/**
 * Remove &lt;user_defined_extend&gt; elements.
 * <p>/*from   ww w. j  a  v a2  s  . co  m*/
 * OpenImmo 1.2.2 does not support &lt;user_defined_extend&gt; elements in
 * &lt;freitexte&gt; and &lt;anhaenge&gt; elements.
 *
 * @param doc OpenImmo document in version 1.2.3
 * @throws JaxenException
 */
protected void removeUserDefinedExtendElements(Document doc) throws JaxenException {
    List nodes = XmlUtils
            .newXPath("/io:openimmo/io:anbieter/io:immobilie/io:freitexte/io:user_defined_extend | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:anhaenge/io:user_defined_extend", doc)
            .selectNodes(doc);
    for (Object item : nodes) {
        Element node = (Element) item;
        Element parentNode = (Element) node.getParentNode();
        parentNode.removeChild(node);
    }
}