1. Prefácio
O que é a jddom?
A JDOM é um projeto de código aberto baseado em uma estrutura de árvore, usando a tecnologia Java pura para analisar, gerar, serializar e operar em documentos XML. Ele serve diretamente a programação Java, usa os recursos da linguagem Java (sobrecarga de método, coleções), combina as funções do Sax e do DOM e torna possível analisar o XML original. Será fácil para nós usarmos a JDOM para analisar o XML.
Vantagens da jddom:
1. A JDOM é dedicada à tecnologia Java e ocupa menos memória do que os aplicativos DOM.
2. A JDOM fornece um método básico mais simples e lógico para acessar informações XML
3. Além do arquivo XML, o JDOM também pode acessar outras fontes de dados, por exemplo, você pode criar classes para acessar dados dos resultados da consulta SQL.
Composição da Jomia:
A JDOM CONSILHA DE 6 PACAGES
A classe de elemento representa elementos do documento XML
org.jdom: a classe básica a ser usada para analisar arquivos XML
org.jdom.adapters: Java Class contendo adaptações DOM
org.jdom.filter: classe de filtro contendo documentos XML
org.jdom.input: classe java que contém documentos XML de leitura
org.jdom.output: classe contendo Saída XML Document
Org.jdom.Trans Form: contém classes Java que convertem a interface do documento XML JDOML em outras interfaces de documentos XML
O que é XML?
O XML é uma linguagem de marcação amplamente usada. Existem muitas maneiras de analisar XML em Java, incluindo os mais usados, como Jdom, DOM4J, Sax, etc.
JOMING PACOTO DOWNLOAD: http://www.jdom.org/downloads/index.html
O que o código do autor aqui é usar o Java para criar um XML e ler um XML, que é usado apenas como uma introdução de nota.
2. Operação
Faça o download do pacote de jddom, descompacte o JDOM-2.0.6.JAR, JDOM-2.0.6-JAVADOC.JAR e importe o pacote para a pasta Lib. (Observe, se houver algum erro, importe todos os pacotes na jddom)
Exemplo 1: Crie um arquivo XML usando JDOM com o nome People.xml
Crie uma nova classe CareateJdom
pacote com.book.jdom; importar java.io.fileNotfoundException; importar java.io.fileOutputStream; importar java.io.ioException; importar org.jdom2.document; importerate org.jdom2ml; void main (string [] args) {// define pessoas elementos de elemento, aluno; pessoas = novo elemento ("pessoas"); aluno = novo elemento ("aluno"); // Defina o atributo student.setAttribute ("nome", "zhang san"); student.setattribute ("salário", "8000"); Documento doc = new document (pessoas); // leia o formato e atribua-o ao formato formato de formato atual = format.getCompactFormat (); // inicialize o formato de corrente Format.setEncoding ("utf-8"); // defina o arquivo de fábrica xml e o formato de fábrica xml. XmlOutputter (formato); tente {// Envie o texto escrito para a fábrica e crie um fluxo de saída de arquivo para produzir os dados xmlout.Output (doc, new FileOutputStream ("People.xml")); System.out.println ("success!");} Catch (FILENOTFoundException E) {/0tln Automdo (success! "); (IoException e) {// TODO GEMAGEM AUTOGENADO Blocke.printStackTrace ();}}}/*Resultado em execução: <? Xml versão = "1.0" coding = "utf-8"?Exemplo 2: Use Jdom para analisar o arquivo People.xml
Crie uma nova classe Readxml
pacote com.book.jdom; importar java.io.ioException; importar java.util.list; importar org.jdom2.document; importar org.jdom2.Element; importar org.jdom2.jdomexception; importar) l) string/strings string/strings strings) string/strings strings) string/stringsl (strings string/strings string/strings string/strings stringsl) e strings string/string/strat) e strings string/strings string/strings string/strings strings) e strat) e strat). analisa xmlsaxbuilder sax = new saxbuilder (); // crie um documento para aceitar documentos de dados doc; tente {// get pessoas.xml document doc = sax.build ("pessoas.xml"); // obtive o elemento raiz pessoas = doc.GeroTELEMENT (); for(int i = 0;i<list.size();i++){Element e = list.get(i);//Get attribute value System.out.println("name: "+e.getAttributeValue("name")+" salary: "+e.getAttributeValue("salary"));//Get the text value System.out.println(e.getText());}} catch (Jdomexception e) {e.printStackTrace ();} catch (ioexception e) {e.printStackTrace ();}}}/** Resultado:* Nome: Zhang San Salário: 8000 hehe**//Analisando xml
Método para obter diferentes valores de atributo de vários nomes de tags usando jdoman <? Xml versão = "1.0" coding = "utf-8"?> <frifiguration> <key name = "China"> <Value name = "textKey"> China </Value> <Value name = "Enabled"> True </value> <Value Name = "Photoidwidth" Name="PhotoIDHeight">38</Value> <Key Name="Adult"> <Value Name="CrownPercent">0.10</Value> <Value Name="HeadPercent">0.60AdultHeadPercent</Value> </Key> <Key Name="Child"> <Value Name="CrownPercent">0.10</Value> <Value Name="HeadPercent">0.60ChildHeadPercent</Value> </Key> </Key> <key name = "Austrália"> <value name = "textKey"> Austrália </value> <value name = "Enabled"> true </value> <value name = "photoidwidth"> 35photoidwidth </value> <names = "photoidHeight"> 45 </value> <kyn name = "adulto"> <name> Nome = "Headpercent"> 0,756 "adulto" Headpercent </value> </key> <nome da chave = "filho"> <value name = "CrownPercent"> 0.072 </value> <Value name = "Value"> 0.711childHildPercent </value> </key> <key> name = "austria"> <Nome = " <Value name = "PhotoidWidth"> 35photoidWidth </alue> <value name = "photoidHeight"> 45 </value> <key name = "adult"> <value name = "CrownPercent"> 0,064 </value> <Nome do valor = "Headpercent"> 0.74adultheAdPercent </Value> Name = "CrownPercent"> 0.078 </value> <valor name = "Headpercent"> 0.689ChildHerpPercent </value> </ge Key> </key> </figuration> pacote de entrada; import java.io.ioexception; import ou java.util.arraylist; import java.util.list; import; org.jdom.jdomexception; importar org.jdom.input.saxbuilder; public class Readxml { / ** * @param args * / public static void main (string [] args) lança jdomexception, ioexception {saxbuilder sb = novo saxbuilder (); // Construct Document Object Document doc = sb.build (test.class.getclassloader (). GetResourceasStream ("nicion.xml")); // Obtenha o elemento raiz raiz root = doc.getrootelement (); // LOCATE <FIFIGURATION> -> <KEK> LIST <LEMent> LIST = root.getChildren ("key"); List <lement> Children = new ArrayList <lement> (); List <lement> Childrens = new ArrayList <lement> (); for (int i = 0; i <list.size (); i ++) {elemento elemento = (elemento) list.get (i); System.out.print (element.getAttributeValue ("nome")); // Localize <figuration> -> <Key> -> <Value> children = element.getChildren ("value"); for (int j = 0; j <Children.size (); j ++) {element elementChildren = (element) filhos.get (j); // Localize <figuration> -> <Key> -> <Value name = "PhotoidWidth"> if (elementChildren.getAttributeValue ("nome"). Equals ("PhotOidWidth")) {// Get <figuration> -> <Key> -> <Valor Name = "Photoidwidth"> Attribute Value System.out.print ("<-----------------" "+elementChildren.getAttributeValue (" nome ")); // Obtenha o conteúdo de <frifiguration>-> <Key>-> <Nome do nome =" PhotoidWidth "> tag System.out.print (", "+elementChild ).getText (); <Key> Children = Element.getChildren ("Key"); -> <Key> -> <Nome da chave = "Child"> -> <Value> ChildRens = ElementChildren.getChildren ("Valor"); Name = "Headpercent"> if (elementChildRens.getAttributeValue ("nome"). Equals ("Headpercent")) {System.out.println ("<--------->"+elementChildRens.getText ()); }}}}} }} 打印结果: China <---------> PhotoidWidth, 38photoidWidth <---------> 0.60ChildHerpPercentaustrália <---------> PhotoidWidth, 35PhotoidWidth <---------O exposto acima é o método de usar o JDOM para analisar XML na web java apresentada a você. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!