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_5.java

/**
 * Remove <anzahl_logia> elements.
 * <p>/*from  w  w w  . j  a va  2s. c o  m*/
 * OpenImmo 1.2.4 does not support &lt;anzahl_logia&gt; elements.
 *
 * @param doc OpenImmo document in version 1.2.5
 * @throws JaxenException
 */
protected void removeAnzahlLogiaElements(Document doc) throws JaxenException {
    List nodes = XmlUtils.newXPath("/io:openimmo/io:anbieter/io:immobilie/io:flaechen/io:anzahl_logia", 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_5.java

/**
 * Remove &lt;erschliessung_umfang&gt; elements.
 * <p>//  w  ww .  j  a va  2 s  .  com
 * OpenImmo 1.2.4 does not support &lt;erschliessung_umfang&gt; elements.
 *
 * @param doc OpenImmo document in version 1.2.5
 * @throws JaxenException
 */
protected void removeErschliessungUmfangElements(Document doc) throws JaxenException {
    List nodes = XmlUtils
            .newXPath("/io:openimmo/io:anbieter/io:immobilie/io:zustand_angaben/io:erschliessung_umfang", 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_5.java

/**
 * Remove unsupported children from all &lt;objekt&gt; elements in feedback
 * XML./*w  w  w .j  a  v a  2s  . c om*/
 * <p>
 * OpenImmo 1.2.4 does not support the following children in feedback XML's
 * for &lt;objekt&gt; elements: &lt;land&gt;, &lt;stadtbezirk&gt;,
 * &lt;anzahl_zimmer&gt;, &lt;flaeche&gt;
 * <p>
 * These elements are removed by this function.
 *
 * @param doc OpenImmo document in version 1.2.5
 * @throws JaxenException
 */
protected void removeFeedbackObjektChildElements(Document doc) throws JaxenException {
    List nodes = XmlUtils.newXPath(
            "/io:openimmo_feedback/io:objekt/io:land |" + "/io:openimmo_feedback/io:objekt/io:stadtbezirk |"
                    + "/io:openimmo_feedback/io:objekt/io:anzahl_zimmer |"
                    + "/io:openimmo_feedback/io:objekt/io:flaeche",
            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_5.java

/**
 * Remove unsupported children from all &lt;kontaktperson&gt; elements.
 * <p>/*from www.j  av a 2 s . c  o m*/
 * OpenImmo 1.2.4 does not support the following children for
 * &lt;kontaktperson&gt; elements: &lt;position&gt;,
 * &lt;immobilientreuhaenderid&gt;, &lt;foto&gt;
 * <p>
 * These elements are removed by this function.
 *
 * @param doc OpenImmo document in version 1.2.5
 * @throws JaxenException
 */
protected void removeKontaktpersonChildElements(Document doc) throws JaxenException {
    List nodes = XmlUtils.newXPath("/io:openimmo/io:anbieter/io:immobilie/io:kontaktperson/io:position |"
            + "/io:openimmo/io:anbieter/io:immobilie/io:kontaktperson/io:immobilientreuhaenderid |"
            + "/io:openimmo/io:anbieter/io:immobilie/io:kontaktperson/io:foto", 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_5.java

/**
 * Remove &lt;mwst_gesamt&gt; elements.
 * <p>/* w  w w. j  a  v a2  s .  co m*/
 * OpenImmo 1.2.4 does not support &lt;mwst_gesamt&gt; elements.
 *
 * @param doc OpenImmo document in version 1.2.5
 * @throws JaxenException
 */
protected void removeMwstGesamtElements(Document doc) throws JaxenException {
    List nodes = XmlUtils.newXPath("/io:openimmo/io:anbieter/io:immobilie/io:preise/io:mwst_gesamt", 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_5.java

/**
 * Remove &lt;verkehrswert&gt; elements.
 * <p>/*from w w w  .  ja  va 2s  .  c  om*/
 * OpenImmo 1.2.4 does not support &lt;verkehrswert&gt; elements.
 *
 * @param doc OpenImmo document in version 1.2.5
 * @throws JaxenException
 */
protected void removeVerkehrswertElements(Document doc) throws JaxenException {
    List nodes = XmlUtils
            .newXPath("/io:openimmo/io:anbieter/io:immobilie/io:versteigerung/io:verkehrswert", 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_5.java

/**
 * Remove unsupported children from all &lt;verwaltung_techn&gt; elements.
 * <p>// w  w  w .j a va2 s  .co m
 * OpenImmo 1.2.4 does not support the following children for
 * &lt;verwaltung_techn&gt; elements: &lt;gruppen_kennung&gt;, &lt;master&gt;,
 * &lt;sprache&gt;
 * <p>
 * These elements are removed by this function.
 *
 * @param doc OpenImmo document in version 1.2.5
 * @throws JaxenException
 */
protected void removeVerwaltungTechnChildElements(Document doc) throws JaxenException {
    List nodes = XmlUtils
            .newXPath("/io:openimmo/io:anbieter/io:immobilie/io:verwaltung_techn/io:gruppen_kennung |"
                    + "/io:openimmo/io:anbieter/io:immobilie/io:verwaltung_techn/io:master |"
                    + "/io:openimmo/io:anbieter/io:immobilie/io:verwaltung_techn/io:sprache", 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_5.java

/**
 * Upgrade &lt;energiepass&gt; elements to OpenImmo 1.2.5.
 * <p>//from   ww  w  .  j  a v  a  2  s. co m
 * The &lt;user_defined_simplefield&gt; elements for Austria, that were
 * suggested by OpenImmo e.V., are explicitly supported in OpenImmo 1.2.5 as
 * child elements of &lt;energiepass&gt;. Any matching
 * &lt;user_defined_simplefield&gt; elements are moved into the
 * &lt;energiepass&gt; element.
 *
 * @param doc OpenImmo document in version 1.2.4
 * @throws JaxenException
 */
protected void upgradeEnergiepassElements(Document doc) throws JaxenException {
    Map<String, String> fields = new HashMap<String, String>();
    fields.put("hwbwert", "user_defined_simplefield[@feldname='epass_hwbwert']");
    fields.put("hwbklasse", "user_defined_simplefield[@feldname='epass_hwbklasse']");
    fields.put("fgeewert", "user_defined_simplefield[@feldname='epass_fgeewert']");
    fields.put("fgeeklasse", "user_defined_simplefield[@feldname='epass_fgeeklasse']");

    List nodes = XmlUtils.newXPath("/io:openimmo/io:anbieter/io:immobilie/io:zustand_angaben", doc)
            .selectNodes(doc);
    for (Object item : nodes) {
        Element node = (Element) item;

        Element energiepassNode = (Element) XmlUtils.newXPath("io:energiepass", doc).selectSingleNode(node);
        if (energiepassNode == null) {
            energiepassNode = doc.createElementNS(StringUtils.EMPTY, "energiepass");
        }
        for (Map.Entry<String, String> entry : fields.entrySet()) {
            boolean fieldProcessed = false;
            List childNodes = XmlUtils.newXPath(entry.getValue(), doc).selectNodes(node);
            for (Object childItem : childNodes) {
                Node childNode = (Node) childItem;
                if (!fieldProcessed) {
                    String value = StringUtils.trimToNull(childNode.getTextContent());
                    if (value != null) {
                        Element newElement = doc.createElementNS(StringUtils.EMPTY, entry.getKey());
                        newElement.setTextContent(value);
                        energiepassNode.appendChild(newElement);
                        fieldProcessed = true;
                    }
                }
                node.removeChild(childNode);
            }
        }
        if (energiepassNode.getParentNode() == null && energiepassNode.hasChildNodes()) {
            node.appendChild(energiepassNode);
        }
    }
}

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

/**
 * Remove &lt;bauzone&gt; elements.
 * <p>//from   w  ww.jav  a 2s  . c om
 * OpenImmo 1.2.5 does not support &lt;bauzone&gt; elements.
 *
 * @param doc OpenImmo document in version 1.2.6
 * @throws JaxenException
 */
protected void removeBauzoneElements(Document doc) throws JaxenException {
    List nodes = XmlUtils.newXPath("/io:openimmo/io:anbieter/io:immobilie/io:zustand_angaben/io:bauzone", 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_6.java

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