Ola pessoal meu problema é o seguinte…
estou tentando ler um xml, soh que nao estou conseguindo buscar todos seus atributos e valores…
<questionnaire>
<term id="108" name="access">
<question number="140">
<qtext term_occurs="true"><![CDATA[Are proper access controls to information clearly defined, implemented and verified that they will work as defined?]]></qtext>
<answer term_occurs="false"><![CDATA[Yes, Planned, No, Not Sure]]></answer>
</question>
<question number="153">
<qtext term_occurs="true"><![CDATA[If internet access will not be available at the event, will there be a a printed copy of the HP Online Privacy Statement available?]]></qtext>
<answer term_occurs="false"><![CDATA[Yes, No, Not Sure]]></answer>
</question>
<question number="168">
<qtext term_occurs="true"><![CDATA[Will any Logical HP vendors involved with the tradeshow or event have access to the personal information of event registrants and/or attendees?]]></qtext>
<answer term_occurs="false"><![CDATA[Yes, No, Not Sure]]></answer>
</question>
</term>
</questionnaire>
Essa aqui é classe principal para mim ler esse xml
[code]import java.util.ArrayList;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import java.io.*;
public class LerXmlQuestionnaire {
@SuppressWarnings("unchecked")
public static void main(String args[]) throws JDOMException, IOException{
Document doc = null;
SAXBuilder builder = new SAXBuilder();
ArrayList<TermQuestion> questionn = new ArrayList<TermQuestion>();
TermQuestion quest= null;
try {
doc = builder.build("C:\Users\MARIO\Desktop\xml_files\Questionnaire.xml");
} catch (FileNotFoundException ex) {
ex.getMessage();
}
Element questionnaire = doc.getRootElement();
List<Element> lista = questionnaire.getChildren();
for (Element e : lista) {
if(e.getAttributeValue("id").equalsIgnoreCase(""+108)){
System.out.println(e.getChild("question").getChild("qtext").getText());
System.out.println(e.getChild("question").getChild("answer").getText());
/*System.out.println(e.getChild("question").getAttributeValue("number"));
System.out.println(e.getChild("question").getChild("qtext").getText());
System.out.println(e.getChild("question").getChild("answer").getText());*/
quest = new TermQuestion();
quest.setIdPergunta(e.getChild("question").getAttributeValue("number"));
quest.addPergunta(e.getChildText("qtext"));
quest.addResposta(e.getChildText("answer"));
questionn.add(quest);
}
}
// return questionn;
}
}[/code]
E essa é uma classe auxiliar para guardar os valores
import java.util.*;
public class TermQuestion {
private String idPergunta;
private ArrayList<String> pergunta;
private ArrayList<String> resposta;
public TermQuestion(String idPergunta){
this.idPergunta = idPergunta;
}
public TermQuestion(){
}
public ArrayList<String> getPergunta() {
return pergunta;
}
public void addPergunta(String perg) {
this.pergunta.add(perg);
}
public ArrayList<String> getResposta() {
return resposta;
}
public void addResposta(String resp) {
this.resposta.add(resp);
}
public String getIdPergunta() {
return idPergunta;
}
public void setIdPergunta(String idPergunta) {
this.idPergunta = idPergunta;
}
public String toString(){
return "";
}
}
Abraço!