Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

Java XML: Trouver le containeur avec attribut ou le créer

Java XML: Trouver le containeur avec attribut ou le créer
{filelink=8365}

/***** Code de MesExemples.com *******/
  import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.Iterator;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;/******************************************************************************* * Copyright (C) 2007 Google Inc. *  * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at *  * http://www.apache.org/licenses/LICENSE-2.0 *  * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. ******************************************************************************//** * Various XML utilities. *  * @author simonjsmith, ksim * @version 1.1 - ksim - March 6th, 2007 - Added functions regarding streaming * @version 1.2 - ksim - March 10th, 2007 - Added functions regarding DOM *          manipulation */public class Utils {  public static Element findContainerWithAttributeValueElseCreate(      Document document, Element parent, String element,      String attributeName, String attributeValue) {    NodeList nl = parent.getElementsByTagName(element);    Element e;    for (int i = 0; i < nl.getLength(); i++) {      e = (Element) nl.item(i);      if (e.getAttribute(attributeName).equals(attributeValue)) {        return e;      }    }    e = document.createElement(element);    parent.appendChild(e);    e.setAttribute(attributeName, attributeValue);    return e;  }}         

Code testé avec le fichier XML Suivant

<?xml version="1.0" encoding="windows-1252"?>
<!-- Edited by MesEXemple.com -->
<note>
	<to>Sakoba</to>
	<from>Adams</from>
	<heading>Rappel</heading>
	<body>Ne m'oubliez pas ce week-end!</body>
</note>