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>Banco de Dados</type>
<own_slot_value>
<slot_reference>Definição</slot_reference>
<value value_type="string">Bando de Dados é uma estrutura .........</value>
</own_slot_value>
<own_slot_value>
<slot_reference>Nome</slot_reference>
<value value_type="string">Banco de Dados</value>
</own_slot_value>
<own_slot_value>
<slot_reference>Palavras Chaves</slot_reference>
<value value_type="string">modelagem conceitual</value>
<value value_type="string">modelagem relacional</value>
<value value_type="string">projeto físico</value>
<value value_type="string">projeto lógico</value>
</own_slot_value>
<own_slot_value>
<slot_reference>Áreas Relacionadas</slot_reference>
<value value_type="string">Engenharia de Software</value>
<value value_type="string">Sistemas Distribuidos</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 ?
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.
PrintStream out = System.out;
if (args.length != 1 && args.length != 2) {
out.println("Usage: WarReader [web.xml]");
return;
}
try {
// Request document building without validation
SAXBuilder builder = new SAXBuilder(false);
Document doc = builder.build(new File(args[0]));
// Get the root element
Element root = doc.getRootElement();
// Print servlet information
List servlets = root.[b]getChildren[/b]("servlet");
out.println("This WAR has "+ servlets.size() +" registered servlets:");
Iterator i = servlets.iterator();
while (i.hasNext()) {
Element servlet = (Element) i.next();
out.print("\t" + servlet.[b]getChild[/b]("servlet-name")
.getText() +
" for " + servlet.getChild("servlet-class")
.getText());
List initParams = servlet.getChildren("init-param");
out.println(" (it has " + initParams.size() + " init params)");
}
// Print security role information
List securityRoles = root.[b]getChildren[/b]("security-role");
if (securityRoles.size() == 0) {
out.println("This WAR contains no roles");
}
else {
Element securityRole = (Element) securityRoles.get(0);
List roleNames = securityRole.getChildren("role-name");
out.println("This WAR contains " + roleNames.size() + " roles:");
i = roleNames.iterator();
while (i.hasNext()) {
Element e = (Element) i.next();
out.println("\t" + e.[b]getText[/b]());
}
}
// Print distributed information (notice this is out of order)
List distrib = root.getChildren("distributed");
if (distrib.size() == 0) {
out.println("This WAR is not distributed");
} else {
out.println("This WAR is distributed");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}[/code]
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>
The initial value for the counter <!-- 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.