Leitura XML

1 resposta
M

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
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;
	}
}
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!

1 Resposta

M

Alguem?

Criado 23 de setembro de 2010
Ultima resposta 24 de set. de 2010
Respostas 1
Participantes 1