Java XML: Accéder aux Enfants d’un noeud défini

Author:

Java XML: Accéder aux Enfants d'un noeud défini
{filelink=8446}

/***** Code de MesExemples.com *******/
/**
 * @(#)XMLChildFromNodeName.java
 *
 *
 * @author 
 *sakoba(java.mesexemples.com) @version 1.00 2013/7/5
 */


import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class XMLChildFromNodeName {
  public static String getChildContent(Element parent, String name, String 
    missing, String empty) {
    Element child = getChild(parent, name);
    if (child == null) {
      return missing;
    } else {
      String content = (String) getContent(child);
      return (content != null) ? content : empty;
    }
  }

  public static Object getContent(Element element) {
    NodeList list_node = element.getChildNodes();
    StringBuffer content = new StringBuffer();
    for (int i = 0; i < list_node.getLength(); i++) {
      Node node = list_node.item(i);
      switch (node.getNodeType()) {
      case Node.ELEMENT_NODE:
        return node;
      case Node.CDATA_SECTION_NODE:
      case Node.TEXT_NODE:
        content.append(node.getNodeValue());
        break;
      }
    }
    return content.toString().trim();
  }

  public static Element getChild(Element parent, String name) {
    for (Node child = parent.getFirstChild(); child != null; child = 
    child.getNextSibling()) {
      if (child instanceof Element && name.equals(child.getNodeName())) {
        return (Element) child;
      }
    }
    return null;
  }
}

Code testé avec le fichier XML Suivant




	Sakoba
	Adams
	Rappel
	Ne m'oubliez pas ce week-end!

A Voir sur le même Sujet:

  • import org.w3c.dom.Element
  • acceder directement a un noeud xml java

Leave a Reply

Your email address will not be published. Required fields are marked *