Pessoal estou lendo um arquivo XML onde estão representadas Classes e instancias de classe.
Os dados da classe eu não tive dificuldade, pois é parecido com o do tutorial que tem aqui no fórum. Mas a estrutura da instancia é um pouco mais complexa, será que alguem pode me dar um luz
Tenho a seguinte estrutura da instancia representada em xml:
<!-- Instância de Banco de Dados --><simple_instance><name>OntoXML01_Instance_19</name><type>BancodeDados</type><own_slot_value><slot_reference>Definição</slot_reference><valuevalue_type="string">BandodeDadoséumaestrutura.........</value></own_slot_value><own_slot_value><slot_reference>Nome</slot_reference><valuevalue_type="string">BancodeDados</value></own_slot_value><own_slot_value><slot_reference>PalavrasChaves</slot_reference><valuevalue_type="string">modelagemconceitual</value><valuevalue_type="string">modelagemrelacional</value><valuevalue_type="string">projetofísico</value><valuevalue_type="string">projetológico</value></own_slot_value><own_slot_value><slot_reference>ÁreasRelacionadas</slot_reference><valuevalue_type="string">EngenhariadeSoftware</value><valuevalue_type="string">SistemasDistribuidos</value></own_slot_value></simple_instance>
As informações que eu preciso pegar são o Type (Consegui pegar.) A Definição (Tambem consigo pegar), mas como faço para pegar as Palavras Chaves e as Áreas Relacionada, já que possuem vários valores ?
e os metodos ficam todos sublinhados em vermelhos.
Alguem pode mne ajudar? :roll:
jaboot
você vai precisar achar esses “jars” (bibliotecas).
clica com o botão direito do mouse em cima do teu projeto, no Package Explorer >> Properties >> Java Build Path >> Aba Libraries >> Add External Jars
e indica quais jars ele tem que usar para compilar teu projeto
Se você não souber, dá uma procurada no google sobre “org.jdom.output e org.jdom.input” e baixa, vê se você tem, sei lá
Acho que deu pra entender né
jaboot
Desculpe gente, dupliquei a resposta.
C
CristianeFrb
Sim, entendi.
Vou dar uma procurada.
Valeu.
C
CristianeFrb
Baixei as bibliotecas agora está dando o seguinte erro:
Add cast ‘root’
dai ele pede pra colocar:
List servlets = ((Objetc) root).getChildren(“servlet”);
e eu coloco
List servlets = ((List) root).getChildren(“servlet”);
e continua com o getChildren subilinhado e todos os outros métodos.
C
CristianeFrb
Pessoal,
será que alguem aqui consegue rodar esse código?
já importei a biblioteca jdom.jar até a do sax eu importei, mas não consigo rodar esse código, passei o dia toda tentando fazer isso e nada.
Socoorrooooo!
importjava.io.*;importjava.util.*;importorg.jdom.*;importorg.jdom.input.*;importorg.jdom.output.*;publicclassWarReader{publicstaticvoidmain(String[]args){PrintStreamout=System.out;if(args.length!=1&&args.length!=2){out.println("Usage: WarReader [web.xml]");return;}try{// Request document building without validationSAXBuilderbuilder=newSAXBuilder(false);Documentdoc=builder.build(newFile(args[0]));// Get the root elementElementroot=doc.getRootElement();// Print servlet informationListservlets=root.[b]getChildren[/b]("servlet");out.println("This WAR has "+servlets.size()+" registered servlets:");Iteratori=servlets.iterator();while(i.hasNext()){Elementservlet=(Element)i.next();out.print("\t"+servlet.[b]getChild[/b]("servlet-name").getText()+" for "+servlet.getChild("servlet-class").getText());ListinitParams=servlet.getChildren("init-param");out.println(" (it has "+initParams.size()+" init params)");}// Print security role informationListsecurityRoles=root.[b]getChildren[/b]("security-role");if(securityRoles.size()==0){out.println("This WAR contains no roles");}else{ElementsecurityRole=(Element)securityRoles.get(0);ListroleNames=securityRole.getChildren("role-name");out.println("This WAR contains "+roleNames.size()+" roles:");i=roleNames.iterator();while(i.hasNext()){Elemente=(Element)i.next();out.println("\t"+e.[b]getText[/b]());}}// Print distributed information (notice this is out of order)Listdistrib=root.getChildren("distributed");if(distrib.size()==0){out.println("This WAR is not distributed");}else{out.println("This WAR is distributed");}}catch(Exceptione){e.printStackTrace();}}}
ele vai ler o seguinte xml:
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd"><web-app><servlet><servlet-name>snoop</servlet-name><servlet-class>SnoopServlet</servlet-class></servlet><servlet><servlet-name>file</servlet-name><servlet-class>ViewFile</servlet-class><init-param><param-name>initial</param-name><param-value>1000</param-value><description>Theinitialvalueforthecounter<!-- optional --></description></init-param></servlet><servlet-mapping><servlet-name>mv</servlet-name><url-pattern>*.wm</url-pattern></servlet-mapping><distributed/><security-role><role-name>manager</role-name><role-name>director</role-name><role-name>president</role-name></security-role></web-app>
Peguei em um tutorial que foi postado aqui.
Se alguem puder me dar uma luz eu agradeço.