/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package gerador; import java.io.IOException; import java.util.Iterator; import java.util.List; import org.jdom.Document; import org.jdom.Element; import org.jdom.JDOMException; import org.jdom.input.SAXBuilder; /** * * @author felipel */ public class XmlReader { String portIn = null, portOut = null, pid = null, resolution = null, dph = null, dpv = null, dfw = null, dfh = null, version = null, pidcc = null, ip = null, tipo = null, input = null; int flag = 0; public XmlReader(String nomeXml) throws JDOMException, IOException { // cria uma nova instância SAXBuilder saxBuilder = new SAXBuilder(); Document document = null; // o saxBuilder constroe um documento em árvore usando o SAX try { document = (Document) saxBuilder.build(nomeXml); } catch (Exception e) { e.printStackTrace(); } // obtem o elemento raiz da árvore. Element root = document.getRootElement(); this.percorrerArvore(root); } private void percorrerArvore(Element element) { String nome; Element child; Iterator iterator; List children; nome = element.getName(); //System.out.println("Nome: " + nome); if (nome.equals("pid")) { pid = element.getTextNormalize(); } if (nome.equals("resolucao")) { resolution = element.getTextNormalize(); } if (nome.equals("DPH")) { dph = element.getTextNormalize(); } if (nome.equals("DPV")) { dpv = element.getTextNormalize(); } if (nome.equals("DFW")) { dfw = element.getTextNormalize(); } if (nome.equals("DFH")) { dfh = element.getTextNormalize(); } if (nome.equals("versao")) { version = element.getTextNormalize(); } if (nome.equals("pidCC")) { pidcc = element.getTextNormalize(); } if (nome.equals("entrada")) { tipo = element.getAttributeValue("tipo"); if (tipo.equals("MPEG-2 TS") || tipo.equals("RAW")) { flag = 1; } if(tipo.equals("Texto")) { input = element.getTextNormalize(); } } if (nome.equals("porta") && flag == 1) { input = element.getAttributeValue("input"); portIn = element.getTextNormalize(); } if (nome.equals("saida")) { flag = 2; } if (nome.equals("ip")) { ip = element.getTextNormalize(); } if (nome.equals("porta") && flag == 2) { portOut = element.getTextNormalize(); } children = element.getChildren(); // Percorre os filhos deste elemento iterator = children.iterator(); while (iterator.hasNext()) { child = (Element) iterator.next(); // busca os filhos deste elemento percorrerArvore(child); } } public String getTipo() { return tipo; } public String getInput() { return input; } public String getPid() { return pid; } public String getresolucao() { return resolution; } public String getDph() { return dph; } public String getDpv() { return dpv; } public String getDfw() { return dfw; } public String getDfh() { return dfh; } public String getVersao() { return version; } public String getPidCC() { return pidcc; } public String getPortaIn() { return portIn; } public String getPortaOut() { return portOut; } public String getIp() { return ip; } }