Die Hauptforschung in diesem Artikel ist der relevante Java -Code von DOM, um XML -Dokumente hinzuzufügen, zu löschen, zu ändern und zu durchsuchen. Die spezifischen Beispiele sind wie unten gezeigt.
Quellcode:
Paket com.zc.homework18; import java.io.file; import javax.xml.parsers.documentBuilder; import javax.xml.parsers.documentBuilderFactory; importory Javax.xml.transformator; javax.xml.transform.dom.domSource; import javax.xml.transform.stream.streamResult; import Javax.xml.xpath.xpath; import javax.xml.xpath.xpathConstants; import.xpath.xpath.xpath.xpathException; org.w3c.dom.document; import org.w3c.dom.element; import org.w3c.dom.node; import org.w3c.dom.nodelist; public class xmlwriter {private static String xmlpath = " public static void getfamilyMemeber () { /** Erstellen einer Dateifabrikinstanz* / documentBuilderFactory dbf = documentBuilderFactory.Newinstance (); // Wenn der erstellte Parser beim Parsen eines XML -Dokuments Leerzeichen im Elementinhalt löschen muss, ist es wahr, ansonsten ist es falsch dbf.setigningelementContentwhitespace (true); Try {/** Erstellen Sie ein Dateiobjekt*/ documentBuilder db = dbf.newdocumentBuilder (); // Erstellen Sie einen Parser, um XML -Dokument dokument doc = db.parse (xmlPath) zu analysieren. // Verwenden Sie DOM, um eine XML -Datei zu analysieren/** Gehen Sie die Liste durch und extrahieren Sie die XML -Dateidaten*/ // Alle verwandten Knoten gemäß dem Knotennamen nodelist Sonlist = doc.getElementsByTagName ("Son") abrufen; für (int i = 0; i <Sonlist.getLength (); i ++) // Schleifenverarbeitungsobjekt {// Verarbeitung von Knotenattributen Element son = (Element) Sonlist.Item (i); // Alle untergeordneten Knoten im Loop -Knoten -Sohn für (node node = Son.getFirstchild (); Node! String value = node.getFirstchild (). GetNodeValue (); System.out.println (Name + ":" + Wert); }}}} catch (exception e) {System.out.println (e.getMessage ()); }}} // public static void modifyson () {// Datei Factory Instance documentBuilderFactory dbf = documentBuilderFactory.Newinstance () ändern; dbf.setigningElementContentWhiteSpace (true); Versuchen Sie {// DOM -Dokumentinstanz von XML Dokument documentBuilder db = dbf.newdocumentBuilder (); // Dokumentenobjektdokument xmldoc = db.parse (xmlPath) abrufen; // Root Node Element root = xmldoc.getDocumentElement () abrufen; // Positionierknoten mit ID 001 Element Per = (Element) auswählen ("/Vater/Sohn [@id = '001']", root); // Ändern Sie den Inhalt des Altersknotens auf 28 pro. // TransformerFactory Factory = TransformerFactory.Newinstance (); Transformator Ehemalige = factory.newtransformer (); früher.Transform (New DomSource (XMLDOC), New StreamResult (neue Datei (xmlPath))); } catch (Ausnahme e) {System.out.println (e.getMessage ()); }} // den Zielknoten abrufen, löschen und schließlich öffentliche statische void discardson () {documentBuilderFactory dbf = documentBuilderFactory.NewinStance () retten; dbf.setigningElementContentWhiteSpace (true); try {documentBuilder db = dbf.newdocumentBuilder (); Dokument xmldoc = db.parse (xmlPath); // das Root -Knotenelement root = xmldoc.getDocumentElement () abrufen; // Positionieren Sie den Knoten mit id = 002 im Stammknotenelement Son = (Element) SelectSingLenode ("/Vater/Sohn [@id = '002']", root); // die Knoten root.removechild (Sohn) löschen; // TransformerFactory Factory = TransformerFactory.Newinstance (); Transformator Ehemalige = factory.newtransformer (); früher.Transform (New DomSource (XMLDOC), New StreamResult (neue Datei (xmlPath))); } catch (Ausnahme e) {System.out.println (e.getMessage ()); }} // Fügen Sie einen neuen Knoten public static void createson () {// Datei Factory Instance documentBuilderFactory DBF = DocumentBuilderFactory.Newinstance () hinzu; dbf.setigningElementContentWhiteSpace (falsch); try {documentBuilder db = dbf.newdocumentBuilder (); // Dokumentobjektdokument erstellen xmldoc = db.parse (xmlPath); // das Root -Knotenelement root = xmldoc.getDocumentElement () abrufen; // Node Son erstellen, die entsprechende ID auf 004 Element Son = xmldoc.createelement ("Sohn") festlegen; Son.SetAttribute ("ID", "004"); // Knotenname Element name = xmldoc.createelement ("name"); name.setTextContent ("kleiner Sohn"); Son.AppendChild (Name); // Node Age Element Age = xmldoc.createelement ("Alter") erstellen; Age.SetTextContent ("0"); Son.AppendChild (Alter); // Sohn zum Root Node Root.AppendChild (Sohn) hinzufügen; // TransformerFactory Factory = TransformerFactory.Newinstance (); Transformator Ehemalige = factory.newtransformer (); früher.Transform (New DomSource (XMLDOC), New StreamResult (neue Datei (xmlPath))); } catch (Ausnahme e) {System.out.println (e.getMessage ()); }} // Knoteninformationen öffentlich statischer Knoten auswählen (String -Expression, Elementquelle) {Knoten result = null; // XPath Factory XPathFactory xPathFactory = xPathFactory.Newinstance (); // XPath -Objekt XPath xPath = xpathfactory.newXPath (); try {result = (node) xpath.egaluate (Express, Quelle, xPathConstants.node); System.out.println (Ergebnis); } catch (xpathexpressionException e) {System.out.println (e.getMessage ()); } Rückgabeergebnis; } // public static void main (String [] args) {getfamilyMemeber (); System.out.println ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~fahren ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ System.out.println ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~fahren ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ System.out.println ("Daten hinzufügen");XML -Dateien
<? <Age> 13 </agie> </son> </father>
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels über den Beispielcode von Java, das DOM verwendet, um XML -Dokumente hinzuzufügen, zu löschen, zu ändern und zu durchsuchen. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf andere verwandte Themen auf dieser Website verweisen. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!