Example usage for org.w3c.dom Element removeChild

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

Introduction

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

Prototype

public Node removeChild(Node oldChild) throws DOMException;

Source Link

Document

Removes the child node indicated by oldChild from the list of children, and returns it.

Usage

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

/**
 * Remove unsupported children from all <objekt> elements in feedback
 * XML.//from   ww w .  ja v a2  s .com
 * <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>//  w  w w  . j a  va  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  ww  .  j ava 2s.  com*/
 * 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   www  .  java  2  s .com
 * 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>//from w w  w.j  a  v  a 2 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 w  ww  . j ava2 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 w  w .jav a2 s. c  o m
 * 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 www .  j a  va 2  s .  c  om*/
 * 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);
    }
}

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

/**
 * Remove unsupported children from all &lt;preise&gt; elements.
 * <p>/*from w ww  .  j a va  2s.c  om*/
 * OpenImmo 1.2.5 does not support the following children for
 * &lt;preise&gt; elements: &lt;kaufpreisnetto&gt;, &lt;kaufpreisbrutto&gt;,
 * &lt;hauptmietzinsnetto&gt;, &lt;pauschalmiete&gt;,
 * &lt;betriebskostennetto&gt;, &lt;evbnetto&gt;, &lt;gesamtmietenetto&gt;,
 * &lt;gesamtmietebrutto&gt;, &lt;gesamtbelastungnetto&gt;,
 * &lt;gesamtbelastungbrutto&gt;, &lt;gesamtkostenprom2von&gt;,
 * &lt;heizkostennetto&gt;, &lt;monatlichekostennetto&gt;,
 * &lt;monatlichekostenbrutto&gt;, &lt;nebenkostenprom2von&gt;,
 * &lt;ruecklagenetto&gt;, &lt;sonstigekostennetto&gt;,
 * &lt;sonstigemietenetto&gt;, &lt;summemietenetto&gt;,
 * &lt;nettomieteprom2von&gt;, &lt;provisionnetto&gt;,
 * &lt;provisionbrutto&gt;, &lt;richtpreisprom2&gt;
 * <p>
 * These elements are removed by this function.
 *
 * @param doc OpenImmo document in version 1.2.6
 * @throws JaxenException
 */
protected void removePreiseChildElements(Document doc) throws JaxenException {
    List nodes = XmlUtils
            .newXPath("/io:openimmo/io:anbieter/io:immobilie/io:preise/io:kaufpreisnetto | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:kaufpreisbrutto | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:hauptmietzinsnetto | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:pauschalmiete | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:betriebskostennetto | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:evbnetto | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:gesamtmietenetto | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:gesamtmietebrutto | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:gesamtbelastungnetto | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:gesamtbelastungbrutto | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:gesamtkostenprom2von | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:heizkostennetto | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:monatlichekostennetto | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:monatlichekostenbrutto | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:nebenkostenprom2von | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:ruecklagenetto | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:sonstigekostennetto | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:sonstigemietenetto | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:summemietenetto | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:nettomieteprom2von | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:provisionnetto | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:provisionbrutto | "
                    + "/io:openimmo/io:anbieter/io:immobilie/io:preise/io:richtpreisprom2", 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 &lt;zwangsversteigerung&gt; elements.
 * <p>/* w  w w  . j  a v  a 2 s.co  m*/
 * OpenImmo 1.2.5 does not support &lt;zwangsversteigerung&gt; elements.
 *
 * @param doc OpenImmo document in version 1.2.6
 * @throws JaxenException
 */
protected void removeZwangsversteigerungElements(Document doc) throws JaxenException {
    List nodes = XmlUtils
            .newXPath("/io:openimmo/io:anbieter/io:immobilie/io:versteigerung/io:zwangsversteigerung", doc)
            .selectNodes(doc);
    for (Object item : nodes) {
        Element node = (Element) item;
        Element parentNode = (Element) node.getParentNode();
        parentNode.removeChild(node);
    }
}