Inicialmente, a linguagem XML pretendia apenas substituir a linguagem HTML. No entanto, à medida que a linguagem continua a se desenvolver e melhorar, as pessoas estão descobrindo cada vez mais suas vantagens: como linguagem de marcação extensível e disposições de sintaxe rígidas. marcação significativa, separação entre armazenamento e apresentação de conteúdo e outras vantagens destinaram a linguagem a ser brilhante desde o dia em que nasceu. A linguagem XML entrou em um período de rápido desenvolvimento depois de se tornar um padrão W3C. É claro que sua própria série de vantagens e vantagens também destinou os principais fabricantes de tecnologia a favorecê-la como tecnologia de desenvolvimento na indústria de software. feito Em resposta, uma variedade de ferramentas surgiram para oferecer suporte a XML. Este artigo apresentará várias tecnologias convencionais para processamento de XML em Java a partir dessa perspectiva.
Quais bibliotecas e ferramentas de classes excelentes o Java possui para facilitar o processamento de XML pelos programadores?
Uma introdução aos três métodos de análise XML: o famoso DOM
Não é exagero dizer que é famoso. DOM é a API padrão do W3C para processamento de XML. É a base para muitos outros padrões relacionados ao processamento de XML, não apenas Java, mas também outras linguagens como Javascript, PHP,. MS.NET e assim por diante. Este padrão se tornou o método de processamento XML mais amplamente utilizado. Claro, para fornecer funções cada vez mais poderosas, Java tem muitas classes de ferramentas de extensão direta para DOM, como JDOM, DOM4J, etc., que são familiares para muitos programadores Java. Elas são basicamente expansões de funções de interface DOM e retêm. muito DOM Devido às características da API, muitos programadores DOM originais dominaram o uso dos outros dois sem quaisquer obstáculos. O método intuitivo e fácil de operar o torna profundamente apreciado pela maioria dos programadores Java.
SAX verde e ecológico
O surgimento do SAX tem suas necessidades especiais. Por que é considerado ecológico e ecologicamente correto? Isso ocorre porque o SAX usa menos recursos do sistema e o método de análise mais rápido para fornecer suporte ao processamento XML. Mas os métodos de pesquisa complicados que o acompanham também trazem muitos problemas para os programadores, muitas vezes causando dores de cabeça. Ao mesmo tempo, seu suporte à função de consulta XPath faz com que as pessoas o amem e odeiem.
O obscuro Digester: JavaBeanização de XML
Digester é um projeto de código aberto da Fundação Apache. A compreensão do autor sobre ele vem da pesquisa sobre a estrutura Struts. Existem muitos programadores que desejam entender o design das principais estruturas de código aberto ou até mesmo escrever uma estrutura poderosa? Você encontrará o seguinte problema: Qual tecnologia é usada na parte inferior da estrutura para analisar esses vários arquivos de configuração da estrutura marcados com a linguagem XML? A análise DOM é demorada, a análise SAX é muito complicada e a sobrecarga do sistema de cada análise será muito alta. Portanto, todos pensaram que JavaBeans correspondentes à estrutura XML deveriam ser usados para carregar essas informações, e o Digester surgiu. Seu surgimento traz uma interface de operação conveniente para a necessidade de converter XML em objetos JavaBean, para que necessidades mais semelhantes possam obter uma solução mais perfeita, e os programadores não precisem mais implementar eles próprios procedimentos de análise tão complicados. Ao mesmo tempo, a SUN também lançou a classe de ferramenta de conversão XML e JavaBean JAXB, e os leitores interessados podem aprender sobre ela por conta própria.
Vejamos um exemplo de Java dom analisando XML:
importar java.io.*; importar org.w3c.dom.*; importar org.xml.sax.SAXException; importar javax.xml.parsers.*; fábrica = DocumentBuilderFactory.newInstance(); tente {Construtor DocumentBuilder = fábrica.newDocumentBuilder(); builder.parse(new File("E://work//test//xml1.xml")); NodeList nl = doc.getElementsByTagName("book"); );i++) { System.out.println(nl.item(i).getAttributes().item(0)); System.out.println(doc.getElementsByTagName("título").item(i) .getFirstChild().getNodeValue()); System.out.println(doc.getElementsByTagName("título").item(i) .getAttributes ().item(0)); System.out.println(doc.getElementsByTagName("autor").item(i) .getFirstChild().getNodeValue()); System.out.println(doc.getElementsByTagName("ano").item(i) .getFirstChild ().getNodeValue()); System.out.println(doc.getElementsByTagName("preço").item(i) .getFirstChild().getNodeValue()); System.out.println(); ; } catch (SAXException e) { e.printStackTrace(); e.printStackTrace();
XML:
<bookstore> <book category="COOKING"> <title lang="en">Italiano do dia a dia</title> <author>Giada De Laurentiis</author> <ano>2005</ano> <preço>30,00</preço > </book> <bookcategory="CHILDREN"> <title lang="en">Harry Potter</title> <autor>J K. Rowling</author> <ano>2005</ano> <preço>29,99 </preço> </book> <book category="WEB"> <title lang="en">Aprendendo XML</title> <autor>Erik T. Ray</author> <ano>2003</ano> <preço>39,95< /preço> </book> </bookstore>
resultado:
Category="COZINHANDO"Todos os dias Italianlang="pt"Giada De Laurentiis200530.00category="CRIANÇAS"Harry Potterlang="pt"J K. Rowling200529.99category="WEB"Aprendendo XMLlang="pt"Erik T. Ray200339.95