La principale recherche de cet article est le code pertinent de Java à l'aide de Dom pour ajouter, supprimer, modifier et rechercher des documents XML. Les exemples spécifiques sont comme indiqué ci-dessous.
Code source:
package com.zc.homework18; import java.io.file; import javax.xml.parsers.documentbuilder; import javax.xml.parsers.documentbuilderfactory; javax.xml.transform.dom.domsource; import javax.xml.transform.stream.streamresult; import javax.xml.xpath.xpath; import javax.xml.xpathexpressionxception; javax.xml.xpath.xpathfactory; import org.w3c.dom.Document; import org.w3c.dom.element; import org.w3c.dom.node; import org.w3c.dom.nodelist; classe publique xmlwriter {chaîne statique privée xmlpath = "src // com // zc // homework18 // myxml.xml"; public static void getFamilymemebers () {/ * * Créer une instance d'usine de fichiers * / documentBuilderFactory dbf = documentBuilderFactory.newinstance (); // Si l'analyseur créé doit supprimer des espaces dans le contenu de l'élément lors de l'analyse d'un document XML, il est vrai, sinon il s'agit d'un faux dbf.setIgnringElementContentWhitespace (true); essayez {/ * * Créer un objet de fichier * / documentBuilder db = dbf.newDocumentBuilder (); // Créer un analyseur pour analyser le document de document XML DOC = db.parse (xmlpath); // Utilisez DOM pour analyser un fichier XML / * * Examinez la liste et extraire les données de fichier XML * / // Obtenez tous les nœuds connexes en fonction du nom de nœud nodelist SonList = doc.getElementsByTagName ("Son"); pour (int i = 0; i <sonList.getLength (); i ++) // Objet de traitement de boucle {// Traitement des attributs de nœud élément son = (élément) SonList.item (i); // Tous les nœuds enfants dans le nœud de boucle Son pour (node node = Son.getFirstChild (); Node! = Null; node = node .getNextSibling ()) {// Déterminez s'il s'agit d'un élément nœud if (node.getNodeType () == node.Element_Node) {String name = node.getNodename ();); String value = node.getFirstChild (). GetNodevalue (); System.out.println (nom + ":" + valeur); }}}} catch (exception e) {System.out.println (e.getMessage ()); }}} // Modifier public static void modifySON () {// créer un fichier d'instance d'usine DocumentBuilderFactory dbf = documentBuilderFactory.newinstance (); dbf.setIgnAingElementContentWhitesPace (true); essayez {// obtenir l'instance de document DOM à partir du document de document XML DocumentBuilder db = dbf.newDocumentBuilder (); // Obtenir le document de document Document XMLDOC = DB.Parse (xmlPath); // Obtenez l'élément de nœud racine root = xmldoc.getDocumentElement (); // Positionner le nœud avec id 001 élément per = (élément) selectSingLenode ("/ père / fils [@ id = '001']", root); // modifie le contenu du nœud d'âge en 28 par.getElementsByTagName ("Age"). Item (0) .seTTextContent ("28"); // Enregistrer TransformorFactory Factory = TransformorFactory.NewInstance (); Transformateur ancien = factory.newTransformrer (); ancien.transform (new Domsource (XMLDOC), new StreamResult (nouveau fichier (xmlpath))); } catch (exception e) {System.out.println (e.getMessage ()); }} // Obtenez le nœud cible, supprimez et enfin enregistrer public static void discardson () {documentBuilderFactory dbf = documentBuilderFactory.newinstance (); dbf.setIgnAingElementContentWhitesPace (true); essayez {documentBuilder db = dbf.newDocumentBuilder (); Document XMLDOC = DB.Parse (xmlPath); // Obtenez l'élément de nœud racine root = xmldoc.getDocumentElement (); // Positionnez le nœud avec id = 002 dans l'élément de nœud racine Son = (élément) selectSingLenode ("/ père / fils [@ id = '002']", root); // supprimer le nœud root.removechild (fils); // Enregistrer TransformorFactory Factory = TransformorFactory.NewInstance (); Transformateur ancien = factory.newTransformrer (); ancien.transform (new Domsource (XMLDOC), new StreamResult (nouveau fichier (xmlpath))); } catch (exception e) {System.out.println (e.getMessage ()); }} // Ajouter un nouveau nœud public static void CreateSon () {// Créer des instances d'usine de fichiers documentBuilderFactory dbf = documentBuilderFactory.newinstance (); dbf.setIgnAningElementContentWhitespace (false); essayez {documentBuilder db = dbf.newDocumentBuilder (); // Créer un document de document Document XMLDOC = db.Parse (xmlPath); // Obtenez l'élément de nœud racine root = xmldoc.getDocumentElement (); // Créer un fils de nœud, définissez l'ID correspondant sur 004 élément son = xmlDoc.CreateElement ("Son"); Son.setAttribute ("id", "004"); // Créer un nom de nœud Nom = xmldoc.createElement ("name"); name.seTTextContent ("petit fils"); Son.ApendChild (nom); // Créer un élément d'âge du nœud Âge = xMLDOC.CreateElement ("Age"); Âge.SeTTextContent ("0"); Son.ApendChild (âge); // ajouter son fils au nœud racine root.appendChild (fils); // Enregistrer TransformorFactory Factory = TransformorFactory.NewInstance (); Transformateur ancien = factory.newTransformrer (); ancien.transform (new Domsource (XMLDOC), new StreamResult (nouveau fichier (xmlpath))); } catch (exception e) {System.out.println (e.getMessage ()); }} // Modifier les informations de nœud public Node statique Sélectionnez Sélectionnez Lenode (Expression de chaîne, élément Source) {Node result = null; // Créer XPath Factory XPathfactory XPathfactory = xpathfactory.newinstance (); // Créer un objet xpath xpath xpath = xpathfactory.newxpath (); try {result = (node) xpath.evaluate (express, source, xpathConstants.node); System.out.println (résultat); } catch (xpathexpressionException e) {System.out.println (e.getMessage ()); } Retour Résultat; } // imprimer public static void main (String [] args) {getFamilyMemebers (); System.out.println ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ System.out.println ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ System.out.println ("Ajouter des données");Fichiers XML
<? xml version = "1.0" Encoding = "utf-8" standalone = "no"?> <ather> <son id = "001"> <name> boss </ name> <ge> 20 </ age> </ son> <son id = "002"> <name> seconde </ name> <age> 18 </ age> </ son> <son id = "003"> <name> Ladder </ name> <âge> 13 </gel> </on> </ather>
Résumer
Ce qui précède est l'intégralité du contenu de cet article sur l'exemple de code de Java à l'aide de Dom pour ajouter, supprimer, modifier et rechercher des documents XML. J'espère que ce sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!