Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PARSER DOM ET GÉNÉRATION DE JTREE


Information sur la source

Catégorie :Application Classé sous : parser, dom, jtree, xml, parse Niveau : Initié Date de création : 31/01/2003 Date de mise à jour : 31/01/2003 12:35:16 Vu : 18 073

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (32)
Ajouter un commentaire et/ou une note


Description

Voila un ensemble de classes qui permettent de parser
un document xml avec DOM et de générer un JTree qui le représente

Vous aurez besoin de Xerces : http://xml.apache.org
 

Source

  • /******* Classe de lancement et d'affichage ***************/
  • import java.awt.Dimension;
  • import java.awt.Toolkit;
  • import javax.swing.JFrame;
  • import javax.swing.JScrollPane;
  • public class AffTree extends JFrame
  • {
  • public AffTree()
  • {
  • super("Dom Tree");
  • setSize(500,500);
  • Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
  • setLocation((screenSize.width-getWidth())/2,(screenSize.height-getHeight())/2);
  • JScrollPane treeView = new JScrollPane(DomTreeMaker.makeTree("abonnes.xml"));
  • getContentPane().add(treeView);
  • }
  • public static void main(String[] args)
  • {
  • AffTree a = new AffTree();
  • a.setVisible(true);
  • }
  • }
  • /************** Classe pour générer l'arbre ****************/
  • import javax.swing.JTree;
  • import javax.swing.tree.*;
  • import java.io.IOException;
  • import java.util.HashMap;
  • import java.util.Vector;
  • import org.apache.xerces.parsers.DOMParser;
  • import org.w3c.dom.*;
  • import org.xml.sax.SAXException;
  • /**
  • * @author Duss
  • *
  • * Classe qui renvoit un objet JTree représentant la structure d'un fichier
  • * Xml en le parsant avec DOM
  • */
  • public class DomTreeMaker
  • {
  • public static JTree makeTree(String fileName)
  • {
  • DOMParser parser = new DOMParser();
  • try
  • {
  • parser.parse(fileName);
  • }
  • catch (SAXException e)
  • {
  • }
  • catch (IOException e)
  • {
  • }
  • Document document = parser.getDocument();
  • Element database = document.getDocumentElement();
  • DefaultMutableTreeNode top = new DefaultMutableTreeNode(database.getLocalName());
  • DefaultMutableTreeNode pNiv = new DefaultMutableTreeNode(database.getFirstChild().getNextSibling().getLocalName());
  • top.add(pNiv);
  • // On récupère la liste des fils de premier niveau
  • NodeList premNiv = database.getElementsByTagName(database.getFirstChild().getNextSibling().getLocalName());
  • // Vector pour stocker le nom des fils
  • Vector fils = new Vector(1);
  • // On se positionne sur la première feuille
  • Node pos = ((Element)premNiv.item(0)).getFirstChild().getNextSibling();
  • // On ajoute le nom au Vector
  • fils.addElement(pos.getLocalName());
  • // Tant qu'on rencontre des noeuds, on descend de 2
  • // a chaque fois pour eviter les balises fermantes
  • // et on ajoute au Vector
  • while ((pos = pos.getNextSibling().getNextSibling()) != null)
  • fils.addElement(pos.getLocalName());
  • DefaultMutableTreeNode tIdent,tFils, tVal, tAttr;
  • // Pour chaque fils de premier niveau
  • for( int i=0; i<premNiv.getLength(); i++ )
  • {
  • // On récupère les attributs
  • Vector recAttr = DomTools.trouveAttribut((Element)premNiv.item(i),null);
  • HashMap map;
  • String nodeName = "";
  • for (int l = 0 ; l< recAttr.size() ; l++)
  • {
  • map = (HashMap) recAttr.get(l);
  • nodeName += map.get("nom") + " = " + map.get("valeur");
  • if (l+1 < recAttr.size())
  • nodeName += " | ";
  • }
  • // On ajoute l'attribut du fils (l'identifiant)
  • tIdent = new DefaultMutableTreeNode(nodeName);
  • pNiv.add(tIdent);
  • // Puis pour chaque fils
  • for (int j=0 ; j<fils.size() ; j++)
  • {
  • // On recupère la valeur et le type
  • String val = DomTools.findText( (Element)premNiv.item(i),(String)fils.get(j) );
  • Vector attribs = DomTools.trouveAttribut((Element)premNiv.item(i),(String)fils.get(j));
  • tFils = new DefaultMutableTreeNode(fils.get(j));
  • tIdent.add(tFils);
  • DefaultMutableTreeNode attr = new DefaultMutableTreeNode("Attributs");
  • tFils.add(attr);
  • // Ajout des attributs
  • for (int k = 0 ; k < attribs.size() ; k++)
  • {
  • map = (HashMap)attribs.get(k);
  • tAttr = new DefaultMutableTreeNode(map.get("nom") + " = " + map.get("valeur"));
  • attr.add(tAttr);
  • }
  • // Ajout de la valeur du fils
  • tVal = new DefaultMutableTreeNode(val);
  • tFils.add(tVal);
  • }
  • }
  • final JTree tree = new JTree(top);
  • tree.getSelectionModel().setSelectionMode
  • (TreeSelectionModel.SINGLE_TREE_SELECTION);
  • return tree;
  • }
  • }
  • /************** Classe utilitaires Dom ********************/
  • import java.util.HashMap;
  • import java.util.Vector;
  • import org.w3c.dom.Element;
  • import org.w3c.dom.NamedNodeMap;
  • import org.w3c.dom.Node;
  • import org.w3c.dom.NodeList;
  • /**
  • * @author Duss
  • *
  • * Outils pour le parser Dom
  • */
  • public class DomTools
  • {
  • public static String findText( Element element, String name )
  • {
  • Element elementNom = findFirstElement( element, name );
  • return findText(elementNom );
  • }
  • public static String findText(Element element)
  • {
  • return element.getFirstChild().getNodeValue();
  • }
  • public static Element findFirstElement( Element element, String name )
  • {
  • NodeList nl = element.getElementsByTagName( name );
  • if ( nl.getLength() < 1 )
  • throw new NullPointerException(
  • "Element: "+element+" ne contient pas: "+name);
  • return (Element)nl.item(0);
  • }
  • public static Vector trouveAttribut( Element element, String nom )
  • {
  • Vector attr = new Vector(1);
  • HashMap map = new HashMap();
  • Element elementNom = element;
  • if (nom != null)
  • elementNom = findFirstElement( element, nom );
  • NamedNodeMap attributs = elementNom.getAttributes();
  • for(int i=0; i<attributs.getLength(); i++)
  • {
  • Node numéro = attributs.item(i);
  • map.put("nom",numéro.getNodeName());
  • map.put("valeur",numéro.getNodeValue());
  • attr.addElement(map);
  • }
  • return attr;
  • }
  • public static HashMap trouveAttribut(Node node)
  • {
  • HashMap map = new HashMap();
  • NamedNodeMap attributs = node.getAttributes();
  • for(int i=0; i<attributs.getLength(); i++)
  • {
  • Node numéro = attributs.item(i);
  • map.put("nom",numéro.getNodeName());
  • map.put("valeur",numéro.getNodeValue());
  • }
  • return map;
  • }
  • }
/******* Classe de lancement et d'affichage ***************/

import java.awt.Dimension;
import java.awt.Toolkit;

import javax.swing.JFrame;
import javax.swing.JScrollPane;


public class AffTree extends JFrame
{
	public AffTree()
	{
		super("Dom Tree");
		setSize(500,500);
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();       
		setLocation((screenSize.width-getWidth())/2,(screenSize.height-getHeight())/2);
		
		
		JScrollPane treeView = new JScrollPane(DomTreeMaker.makeTree("abonnes.xml"));
		getContentPane().add(treeView);
	}
	
	public static void main(String[] args)
	{
		AffTree a = new AffTree();
		a.setVisible(true);
	}
}


/************** Classe pour générer l'arbre ****************/

import javax.swing.JTree;
import javax.swing.tree.*;
import java.io.IOException;
import java.util.HashMap;
import java.util.Vector;

import org.apache.xerces.parsers.DOMParser;
import org.w3c.dom.*;
import org.xml.sax.SAXException;
/**
 * @author Duss
 *
 * Classe qui renvoit un objet JTree représentant la structure d'un fichier
 * Xml en le parsant avec DOM
 */
public class DomTreeMaker
{
	public static JTree makeTree(String fileName)
	{
		
		DOMParser parser = new DOMParser();
		try 
		{
			parser.parse(fileName);
		} 
		catch (SAXException e) 
		{
		} 
		catch (IOException e) 
		{
		}
		
		Document document = parser.getDocument();
		Element database = document.getDocumentElement();   
		
		DefaultMutableTreeNode top = new DefaultMutableTreeNode(database.getLocalName());
		
		DefaultMutableTreeNode pNiv = new DefaultMutableTreeNode(database.getFirstChild().getNextSibling().getLocalName());
		
		top.add(pNiv);
				
		// On récupère la liste des fils de premier niveau
		NodeList premNiv = database.getElementsByTagName(database.getFirstChild().getNextSibling().getLocalName()); 
	
		// Vector pour stocker le nom des fils
		Vector fils = new Vector(1);

		// On se positionne sur la première feuille
		Node pos = ((Element)premNiv.item(0)).getFirstChild().getNextSibling();

		// On ajoute le nom au Vector
		fils.addElement(pos.getLocalName());

		// Tant qu'on rencontre des noeuds, on descend de 2
		// a chaque fois pour eviter les balises fermantes
		// et on ajoute au Vector	
		while ((pos = pos.getNextSibling().getNextSibling()) != null)
			fils.addElement(pos.getLocalName());

		DefaultMutableTreeNode tIdent,tFils, tVal, tAttr;
		

		// Pour chaque fils de premier niveau
		for( int i=0; i<premNiv.getLength(); i++ ) 
		{
//			On récupère les attributs 
			Vector recAttr = DomTools.trouveAttribut((Element)premNiv.item(i),null);
			HashMap map;
		
			String nodeName = "";
			for (int l = 0 ; l< recAttr.size() ; l++)
			{
				map	 = (HashMap) recAttr.get(l);
				
				nodeName += map.get("nom") + " = " + map.get("valeur");
				
				if (l+1 < recAttr.size())
					nodeName += " | ";
			}
			
			// On ajoute l'attribut du fils (l'identifiant)		
			tIdent = new DefaultMutableTreeNode(nodeName);
			pNiv.add(tIdent);
			
	
			// Puis pour chaque fils
			for (int j=0 ; j<fils.size() ; j++)
			{
				// On recupère la valeur et le type
				String  val	= DomTools.findText( (Element)premNiv.item(i),(String)fils.get(j) );
				
				Vector attribs = DomTools.trouveAttribut((Element)premNiv.item(i),(String)fils.get(j)); 
				
				tFils = new DefaultMutableTreeNode(fils.get(j));
				tIdent.add(tFils);
				
				DefaultMutableTreeNode attr = new DefaultMutableTreeNode("Attributs");
				tFils.add(attr);
				
				// Ajout des attributs
				
				for (int k = 0 ;  k < attribs.size() ; k++)
				{
					map = (HashMap)attribs.get(k);
					tAttr = new DefaultMutableTreeNode(map.get("nom") + " = " + map.get("valeur"));
					attr.add(tAttr);					
				}
				
				// Ajout de la valeur du fils
				tVal = new DefaultMutableTreeNode(val);
				tFils.add(tVal);
			}
	 
					
		}   

		
		final JTree tree = new JTree(top);
		
		tree.getSelectionModel().setSelectionMode
						(TreeSelectionModel.SINGLE_TREE_SELECTION);

		
		return tree;

	}
}


/************** Classe utilitaires Dom ********************/

import java.util.HashMap;
import java.util.Vector;

import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

/**
 * @author Duss
 *
 * Outils pour le parser Dom
 */
public class DomTools 
{
	
	public static String findText( Element element, String name ) 
   {
	  Element elementNom = findFirstElement( element, name );
	  return findText(elementNom );
   }
   
   public static String findText(Element element)
   {
   		return element.getFirstChild().getNodeValue();
   
   }

   public static Element findFirstElement( Element element, String name ) 
   {
		 NodeList nl = element.getElementsByTagName( name );
		 if ( nl.getLength() < 1 )
			throw new NullPointerException(
			   "Element: "+element+" ne contient pas: "+name);
		 return (Element)nl.item(0);
	}
	
	public static Vector trouveAttribut( Element element, String nom ) 
	{
	  	Vector  attr		= new Vector(1);
	  	HashMap map			= new HashMap();
	  	Element elementNom	= element;
		if (nom != null)
			elementNom 	= findFirstElement( element, nom );
	  	NamedNodeMap attributs = elementNom.getAttributes();

		for(int i=0; i<attributs.getLength(); i++) 
	  	{
			Node numéro = attributs.item(i);
			map.put("nom",numéro.getNodeName());
			map.put("valeur",numéro.getNodeValue());
			attr.addElement(map);
		}
		
		
		return attr;
   	}
   	
	public static HashMap trouveAttribut(Node node)
	{
		HashMap map			= new HashMap();
		
		NamedNodeMap attributs = node.getAttributes();

		for(int i=0; i<attributs.getLength(); i++) 
		{
			Node numéro = attributs.item(i);
			map.put("nom",numéro.getNodeName());
			map.put("valeur",numéro.getNodeValue());
		}
		return map;
	}
	


}

Commentaires et avis

signaler à un administrateur
Commentaire de karim1758 le 19/03/2003 11:00:26

J'aimerai savoir ou trouver le "Xerces" parceque lorsque je vais sur le site: http://xml.apache.org il ya seulement du texte. Merci d'avance.

signaler à un administrateur
Commentaire de Duss le 19/03/2003 11:48:34

voila le chemin complet :
http://xml.apache.org/dist/xerces-j/
Duss

signaler à un administrateur
Commentaire de prey le 20/05/2003 11:58:33

Salut,
je vais essayer d'utiliser ton code pour une petite appli que je dois faire en cours.
Mais comme je ne m'y connais pas très bien en Java, peux tu me dire que fichier Xerces je dois installer exactement ?
merci de ton aide.

signaler à un administrateur
Commentaire de Duss le 20/05/2003 13:08:02

salut,
quand tu as telecharger xerces, il faut inclure le jar dans ton projet (ou le classpath) pour pouvoir l utiliser c est tout
Duss

signaler à un administrateur
Commentaire de prey le 20/05/2003 15:08:48

excuse moi pour ma naiveté, mais quel fichier je dois télécharger, car sur le lien que tu donnes, y'en a plusieurs et je ne sais lequel prendre.
Encore merci.

signaler à un administrateur
Commentaire de Duss le 20/05/2003 15:23:38

alors,
tu pend le xerces-j-bin le plus recent en .zip ou tar.gz selon si tu as win ou linux
Duss

signaler à un administrateur
Commentaire de prey le 20/05/2003 16:25:11

j'ai ajouté le .jar à mon projet mais rien n'y fait ton code part en erreur en disant par exemple que org.w3c.dom.Element pas connu.
As-tu une idée ?
dois faire qqchose de plus pour intégrer cette class à mon projet ?
@+

signaler à un administrateur
Commentaire de prey le 20/05/2003 16:34:37

C'est bon, j'ai trouvé. MERCI :o)

signaler à un administrateur
Commentaire de prey le 20/05/2003 17:41:38

Salut, c encore moa !
J'ai réussi à intégrer ton code dans mon appli et pas d'erreur, c plutot cool !
Par contre rien ne se passe sur mon Jtree :o(
peux-tu m'aider ?
ou dois je mettre mon fichier xml à parser ? à la racine ?
comment puis savoir ou il plante, car il fait qqchose mais n'affiche rien !
J'espère que tu pourras m'aider.
@+

signaler à un administrateur
Commentaire de Duss le 20/05/2003 18:22:09

alors,
la effectivement il faut que le fichier soit a la racine de ton repertoire ainsi que toutes les classes !!
sinon, si ton fichier et dans un sous rep "xml" par exemple,
tu passes "./xml/fichier.xml" en argument.
Ensuite dans la classe DomTreeMaker, tu peux modifier :
        try
        {
            parser.parse(fileName);
        }
        catch (SAXException e)
        {
        }
        catch (IOException e)
        {
        }
en
        try
        {
            parser.parse(fileName);
        }
        catch (SAXException e)
        {
            System.out.println(e.getMessage();
        }
        catch (IOException e)
        {
            System.out.println(e.getMessage();
        }
pour t afficher les exceptions au cas ou ;)
c est vrai que j avais oublié de le mettre
Duss

signaler à un administrateur
Commentaire de prey le 21/05/2003 10:50:40

Hello,
peux-tu me donner la struture de ton fichier xml pour tester, car avec le mien ca ne marche pas :o(
merci

signaler à un administrateur
Commentaire de Duss le 21/05/2003 12:25:28

heu ben c est la structure des fichiers que font ma source qui genere des fichiers xml !!
je vais voir si j en retrouve un ;)
effectivement, ma source est pour une structure de fichiers, elle est la pour montrer les methodes a utiliser mais il faut modifier la recupération des noeuds et des attributs en fonction de ta structure a toi ;)
Duss

signaler à un administrateur
Commentaire de stargraft le 18/07/2003 11:23:29

Salut,

J'ai un problème lorsque je compile la classe DomTreeMaker.
J'ai le message suivaant :

D:DownloadExcel estarbreDomTreeMaker.java:42: cannot resolve symbol
symbol  : method getLocalName  ()
location: interface org.w3c.dom.Element
        DefaultMutableTreeNode top = new DefaultMutableTreeNode(database.getLocalName());

Peux-tu m'aider stp.
Merci d'avance.

signaler à un administrateur
Commentaire de lacagne le 11/03/2004 20:00:05

Bonjour
j'ai un petit souci avec xerces
a quel endroit dois je le mettre pour ne plus avoir de message d'erreur  au niveau de l'import du parser dom

merci d'avance

signaler à un administrateur
Commentaire de logarfr le 09/04/2004 11:59:04

salut!

J'ai essayé ton code mais j'ai une erreur lors de l'exécution (la compilation se fait sans problème) :

java.lang.NullPointerException
at DomTreeMaker.makeTree(DomTreeMaker.java:42)
at AffTree.&lt;init&gt;(AffTree.java:15)
at AffTree.main(AffTree.java:21)

J'utilise JBuilder et j'ai mis un ficher xml bidon dans le répertiore.

Voila, merci!

signaler à un administrateur
Commentaire de logarfr le 09/04/2004 12:05:13

juste un petit éclaircissement, si ca peut t'aider ligne 42 de DomTreeMaker.java pour moi il y a :

fils.addElement(pos.getLocalName());

la ligne 15 de AffTree.java :

JScrollPane treeView = new JScrollPane(DomTreeMaker.makeTree("liste"));

et la ligne 21 :

AffTree a = new AffTree();

Voila, je crois que c'est les ligne ou il y a les erreurs que JBuilder donne donc les voila

Merci encore
@++

signaler à un administrateur
Commentaire de logarfr le 09/04/2004 14:21:53

c'est bon j'arrive à la faire marcher

En fait c'était un PB de xml!

Merci

signaler à un administrateur
Commentaire de fraoustin le 26/04/2004 08:58:01

j'ai le même problème

java.lang.NullPointerException
at DomTreeMaker.makeTree(DomTreeMaker.java:42)
at AffTree.&lt;init&gt;(AffTree.java:15)
at AffTree.main(AffTree.java:21)

alors si quelu'un pouvait m'aider en me disant quel fichier xml il faut utiliser (avec un ex cela serait sympa)
merci

signaler à un administrateur
Commentaire de logarfr le 26/04/2004 09:11:48

De mémoire, le fichier XML doit être du type :

&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
&lt;bidon&gt;
&lt;toto&gt;
&lt;toto1&gt;Ex1&lt;/toto2&gt;
&lt;toto2&gt;Ex2&lt;/toto2&gt;
&lt;toto2&gt;Ex3&lt;/toto2&gt;
&lt;/toto&gt;
&lt;/bidon&gt;

Je pense que tu peux copier ca dans un fichier xml et tester mais je suis casi sur que c'est comme ca la syntaxe du type de fichier qui est demandé. Après tu peux le modifier à ta volonté at ça grace au réseau CODES SOURCES et Duss !

signaler à un administrateur
Commentaire de fraoustin le 26/04/2004 10:46:38

en faite l'erreur n'est pas exactement la même c'est la ligne 59 de DomTreeMaker qui est incriminé)
cette ligne est
while ((pos = pos.getNextSibling().getNextSibling()) != null)
            fils.addElement(pos.getLocalName());
quelqu'un peux m'aider?
merci

signaler à un administrateur
Commentaire de fraoustin le 26/04/2004 11:43:13

j'ai trouvé la solution
il faut écrire
while ((pos = pos.getNextSibling().getNextSibling()) != null)
        {fils.addElement(pos.getLocalName());};

merci pour vos réponse rapide

signaler à un administrateur
Commentaire de yannickoy le 06/05/2004 18:36:46

houla oops !
bonjour les gens, j'aurais comme un soucis !
je suis nouvel utilisateur de eclipse project et je n'arrive pas du tout a faire tourner le truk ! (et java je débute)
en gros il ne connait pas DOMParser ...
et c tout en plus !
merci pour les réponses si yen a !

;o)

signaler à un administrateur
Commentaire de ralary le 08/06/2004 10:14:41

et bah moi pire !!
j'ai deja suivi les commentaires et j'ai mis le .jar dans le repertoire de mon projet mais point .
error : cannot resolve symbol
symbol : class DOMParser
c'est à dire il ignore la classe DOMParser

signaler à un administrateur
Commentaire de ralary le 08/06/2004 11:19:26

et bah moi pire !!
j'ai deja suivi les commentaires et j'ai mis le .jar dans le repertoire de mon projet mais point .
error : cannot resolve symbol
symbol : class DOMParser
c'est à dire il ignore la classe DOMParser

signaler à un administrateur
Commentaire de ralary le 08/06/2004 11:19:27

et bah moi pire !!
j'ai deja suivi les commentaires et j'ai mis le .jar dans le repertoire de mon projet mais point .
error : cannot resolve symbol
symbol : class DOMParser
c'est à dire il ignore la classe DOMParser

signaler à un administrateur
Commentaire de Yrgogerg le 06/07/2004 16:48:08

Ca ne peut pas fonctionner : dans trouveAttribut (DomTools.java) pour que cela puisse fonctionner, il faut faire le new HashMap(); dans le for sinon chaque nouvel attribut écrase le précedent lors du put puisqu'on y écrit toujours les champ "nom" et "valeur" !
De plus, je ne vois pas bien l'intérêt d'utiliser une hashmap pour uniquement 2 champs : "nom" et "valeur" (le nombre ne varie pas). Tout cela me parait bien compliqué ! Un tableau de 2 chaines permet de stocker nom et valeur plus simplement ! On mettra ensuite ces tableaux dans le vecteur...

Je n'ai pas creusé la suite...

signaler à un administrateur
Commentaire de mouradoo le 06/10/2005 15:54:53

Salut tout le monde
L'exécution s'est faite sans failles sur l'ide Eclipse3.0,
sauf que l'affichage ajoute pour les noeuds sans attribut une feuille attribute
par défaut.

signaler à un administrateur
Commentaire de benabid22 le 19/02/2006 18:14:15

bon je vaudrais savoir l'utilité de resolve.jar

signaler à un administrateur
Commentaire de papillon2000 le 10/06/2006 14:24:08

salut a tous, est ce que quel à utiliser le parseur rdf ou a une idée sur son utilisation, c'est vraiment urgent, merci.

signaler à un administrateur
Commentaire de abdelouhab407b le 22/01/2007 18:20:23

ba voila j'essaier d'executer cette source sur un fichier XML mais le compilateur ma returner ces erreurs:
Exception in thread "main" java.lang.NullPointerException
at org.apache.xerces.dom.DeepNodeListImpl.nextMatchingElementAfter(DeepNodeListImpl.java:233)
at org.apache.xerces.dom.DeepNodeListImpl.item(DeepNodeListImpl.java:180)
at pack_jcs.DomTreeMaker.makeTree(DomTreeMaker.java:57)
at pack_jcs.AffTree.<init>(AffTree.java:23)
at pack_jcs.AffTree.main(AffTree.java:29)
je ne sais pas quoi faire mon fichier xml est de la forme :
  <?xml version="1.0" ?>
- <INTERNET title="Internet">
  1.3.6.1
- <MGMT title="MGMT">
  1.3.6.1.2
- <MIB title="MIB">
  1.3.6.1.2.1
- <SYSTEM title="System">
  1.3.6.1.2.1.1
  <Sys title="sysDescr">1.3.6.1.2.1.1.1</Sys>
  <Sys title="sysObjectID">1.3.6.1.2.1.1.2</Sys>
  <Sys title="sysUpTime">1.3.6.1.2.1.1.3</Sys>
  <Sys title="sysContact">1.3.6.1.2.1.1.4</Sys>
  <Sys title="sysName">1.3.6.1.2.1.1.5</Sys>
  <Sys title="sysLocation">1.3.6.1.2.1.1.6</Sys>
  <Sys title="sysServices">1.3.6.1.2.1.1.7</Sys>
  </SYSTEM>
- <INTERFACE title="Interface">
  1.3.6.1.2.1.2
  <Inf title="ifNumber">1.3.6.1.2.1.2.1</Inf>
- <Inf title="ifTable">
  1.3.6.1.2.1.2.2
  <Inf title="ifEntry">1.3.6.1.2.1.2.2.1</Inf>
  <Inf title="ifIndex">1.3.6.1.2.1.2.2.1.1</Inf>
  <Inf title="ifDescr">1.3.6.1.2.1.2.2.1.2</Inf>
  <Inf title="ifType">1.3.6.1.2.1.2.2.1.3</Inf>
  <Inf title="ifMtu">1.3.6.1.2.1.2.2.1.4</Inf>
  <Inf title="ifSpeed">1.3.6.1.2.1.2.2.1.5</Inf>
  <Inf title="ifPhysAddress">1.3.6.1.2.1.2.2.1.6</Inf>
  <Inf title="ifAdminStatus">1.3.6.1.2.1.2.2.1.7</Inf>
  <Inf title="ifOperStatus">1.3.6.1.2.1.2.2.1.8</Inf>
  <Inf title="ifLastChange">1.3.6.1.2.1.2.2.1.9</Inf>
  <Inf title="ifInOctets">1.3.6.1.2.1.2.2.1.10</Inf>
  <Inf title="ifInUcastPkts">1.3.6.1.2.1.2.2.1.11</Inf>
  <Inf title="ifInNUcastPkts">1.3.6.1.2.1.2.2.1.12</Inf>
  <Inf title="ifInDiscards">1.3.6.1.2.1.2.2.1.13</Inf>
  <Inf title="ifInErrors">1.3.6.1.2.1.2.2.1.14</Inf>
  <Inf title="ifInUnknownProtos">1.3.6.1.2.1.2.2.1.15</Inf>
  <Inf title="ifOutOctets">1.3.6.1.2.1.2.2.1.16</Inf>
  <Inf title="ifOutUcastPkts">1.3.6.1.2.1.2.2.1.17</Inf>
  <Inf title="ifOutNUcastPkts">1.3.6.1.2.1.2.2.1.18</Inf>
  <Inf title="ifOutDiscards">1.3.6.1.2.1.2.2.1.19</Inf>
  <Inf title="ifOutErrors">1.3.6.1.2.1.2.2.1.20</Inf>
  <Inf title="ifOutQLen">1.3.6.1.2.1.2.2.1.21</Inf>
  <Inf title="ifSpecific">1.3.6.1.2.1.2.2.1.22</Inf>
  </Inf>
  </INTERFACE>
- <AT title="At">
  1.3.6.1.2.1.3
- <at title="atTable">
  1.3.6.1.2.1.3.1
- <at title="atEntry">
  1.3.6.1.2.1.3.1.1
  <at title="atIfIndex">1.3.6.1.2.1.3.1.1.1</at>
  <at title="atPhysAddress">1.3.6.1.2.1.3.1.1.2</at>
  <at title="atNetAddress">1.3.6.1.2.1.3.1.1.3</at>
  </at>
  </at>
  </AT>
- <IP title="Ip">
  1.3.6.1.2.1.4
  <ip title="ipForwarding">1.3.6.1.2.1.4.1</ip>
  <ip title="ipDefaultTTL">1.3.6.1.2.1.4.2</ip>
  <ip title="ipInReceives">1.3.6.1.2.1.4.3</ip>
  <ip title="ipInHdrErrors">1.3.6.1.2.1.4.4</ip>
  <ip title="ipInAddrErrors">1.3.6.1.2.1.4.5</ip>
  <ip title="ipForwDatagrams">1.3.6.1.2.1.4.6</ip>
  <ip title="ipInUnknownProtos">1.3.6.1.2.1.4.7</ip>
  <ip title="ipInDiscards">1.3.6.1.2.1.4.8</ip>
  <ip title="ipInDelivers">1.3.6.1.2.1.4.9</ip>
  <ip title="ipOutRequests">1.3.6.1.2.1.4.10</ip>
  <ip title="ipOutDiscards">1.3.6.1.2.1.4.11</ip>
  <ip title="ipOutNoRoutes">1.3.6.1.2.1.4.12</ip>
  <ip title="ipReasmTimeout">1.3.6.1.2.1.4.13</ip>
  <ip title="ipReasmReqds">1.3.6.1.2.1.4.14</ip>
  <ip title="ipReasmOKs">1.3.6.1.2.1.4.15</ip>
  <ip title="ipReasmFails">1.3.6.1.2.1.4.16</ip>
  <ip title="ipFragOKs">1.3.6.1.2.1.4.17</ip>
  <ip title="ipFragFails">1.3.6.1.2.1.4.18</ip>
  <ip title="ipFragCreates">1.3.6.1.2.1.4.19</ip>
- <ip title="ipAddrTable">
  1.3.6.1.2.1.4.20
- <ip title="ipAddrEntry">
  1.3.6.1.2.1.4.20.1
  <ip title="ipAdEntAddr">1.3.6.1.2.1.4.20.1.1</ip>
  <ip title="ipAdEntIfIndex">1.3.6.1.2.1.4.20.1.2</ip>
  <ip title="ipAdEntNetMask">1.3.6.1.2.1.4.20.1.3</ip>
  <ip title="ipAdEntBcastAddr">1.3.6.1.2.1.4.20.1.4</ip>
  <ip title="ipAdEntReasmMaxSize">1.3.6.1.2.1.4.20.1.5</ip>
  </ip>
  </ip>
- <ip title="ipRoutingTable">
  1.3.6.1.2.1.4.21
  <ip title="ipRouteDest">1.3.6.1.2.1.4.21.1.1</ip>
  <ip title="ipRouteIfIndex">1.3.6.1.2.1.4.21.1.2</ip>
  <ip title="ipRouteMetric1">1.3.6.1.2.1.4.21.1.3</ip>
  <ip title="ipRouteMetric2">1.3.6.1.2.1.4.21.1.4</ip>
  <ip title="ipRouteMetric3">1.3.6.1.2.1.4.21.1.5</ip>
  <ip title="ipRouteMetric4">1.3.6.1.2.1.4.21.1.6</ip>
  <ip title="ipRouteNextHop">1.3.6.1.2.1.4.21.1.7</ip>
  <ip title="ipRouteType">1.3.6.1.2.1.4.21.1.8</ip>
  <ip title="ipRouteProto">1.3.6.1.2.1.4.21.1.9</ip>
  <ip title="ipRouteAge">1.3.6.1.2.1.4.21.1.10</ip>
  <ip title="ipRouteMask">1.3.6.1.2.1.4.21.1.11</ip>
  </ip>
- <ip title="ipNetToMediaTable">
  1.3.6.1.2.1.4.22
- <ip title="ipNetToMediaEntry">
  1.3.6.1.2.1.4.22.1
  <ip title="ipNetToMediaIfIndex">1.3.6.1.2.1.4.22.1.1</ip>
  <ip title="ipNetToMediaPhysAddress">1.3.6.1.2.1.4.22.1.2</ip>
  <ip title="ipNetToMediaNetAddress">1.3.6.1.2.1.4.22.1.3</ip>
  <ip title="ipNetToMediaType">1.3.6.1.2.1.4.22.1.4</ip>
  </ip>
  </ip>
  </IP>
- <ICMP title="Icmp">
  1.3.6.1.2.1.5
  <icmp title="icmpInMsgs">1.3.6.1.2.1.5.1</icmp>
  <icmp title="icmpInErrors">1.3.6.1.2.1.5.2</icmp>
  <icmp title="icmpInDestUnreachs">1.3.6.1.2.1.5.3</icmp>
  <icmp title="icmpInTimeExcds">1.3.6.1.2.1.5.4</icmp>
  <icmp title="icmpInParmProbs">1.3.6.1.2.1.5.5</icmp>
  <icmp title="icmpInSrcQuenchs">1.3.6.1.2.1.5.6</icmp>
  <icmp title="icmpInRedirects">1.3.6.1.2.1.5.7</icmp>
  <icmp title="icmpInEchos">1.3.6.1.2.1.5.8</icmp>
  <icmp title="icmpInEchoReps">1.3.6.1.2.1.5.9</icmp>
  <icmp title="icmpInTimestamps">1.3.6.1.2.1.5.10</icmp>
  <icmp title="icmpInTimestampReps">1.3.6.1.2.1.5.11</icmp>
  <icmp title="icmpInAddrMasks">1.3.6.1.2.1.5.12</icmp>
  <icmp title="icmpInAddrMaskReps">1.3.6.1.2.1.5.13</icmp>
  <icmp title="icmpOutMsgs">1.3.6.1.2.1.5.14</icmp>
  <icmp title="icmpOutErrors">1.3.6.1.2.1.5.15</icmp>
  <icmp title="icmpOutDestUnreachs">1.3.6.1.2.1.5.16</icmp>
  <icmp title="icmpOutTimeExcds">1.3.6.1.2.1.5.17</icmp>
  <icmp title="icmpOutParmProbs">1.3.6.1.2.1.5.18</icmp>
  <icmp title="icmpOutSrcQuenchs">1.3.6.1.2.1.5.19</icmp>
  <icmp title="icmpOutRedirects">1.3.6.1.2.1.5.20</icmp>
  <icmp title="icmpOutEchos">1.3.6.1.2.1.5.21</icmp>
  <icmp title="icmpOutEchoReps">1.3.6.1.2.1.5.22</icmp>
  <icmp title="icmpOutTimestamps">1.3.6.1.2.1.5.23</icmp>
  <icmp title="icmpOutTimestampReps">1.3.6.1.2.1.5.24</icmp>
  <icmp title="icmpOutAddrMasks">1.3.6.1.2.1.5.25</icmp>
  <icmp title="icmpOutAddrMaskReps">1.3.6.1.2.1.5.26</icmp>
  </ICMP>
- <TCP title="Tcp">
  1.3.6.1.2.1.6
  <tcp title="tcpRtoAlgorithm">1.3.6.1.2.1.6.1</tcp>
  <tcp title="tcpRtoMin">1.3.6.1.2.1.6.2</tcp>
  <tcp title="tcpRtoMax">1.3.6.1.2.1.6.3</tcp>
  <tcp title="tcpMaxConn">1.3.6.1.2.1.6.4</tcp>
  <tcp title="tcpActiveOpens">1.3.6.1.2.1.6.5</tcp>
  <tcp title="tcpPassiveOpens">1.3.6.1.2.1.6.6</tcp>
  <tcp title="tcpAttemptFails">1.3.6.1.2.1.6.7</tcp>
  <tcp title="tcpEstbResets">1.3.6.1.2.1.6.8</tcp>
  <tcp title="tcpCurrEstab">1.3.6.1.2.1.6.9</tcp>
  <tcp title="tcpInSegs">1.3.6.1.2.1.6.10</tcp>
  <tcp title="tcpOutSegs">1.3.6.1.2.1.6.11</tcp>
  <tcp title="tcpRetransSegs">1.3.6.1.2.1.6.12</tcp>
- <tcp title="tcpConnTable">
  1.3.6.1.2.1.6.13
- <tcp title="tcpConnEntry">
  1.3.6.1.2.1.6.13.1
  <tcp title="tcpConnState">1.3.6.1.2.1.6.13.1.1</tcp>
  <tcp title="tcpConnLocalAddress">1.3.6.1.2.1.6.13.1.2</tcp>
  <tcp title="tcpConnLocalPort">1.3.6.1.2.1.6.13.1.3</tcp>
  <tcp title="tcpConnRemAddress">1.3.6.1.2.1.6.13.1.4</tcp>
  <tcp title="tcpConnRemPort">1.3.6.1.2.1.6.13.1.5</tcp>
  </tcp>
  </tcp>
  <tcp title="tcpInErrs">1.3.6.1.2.1.6.14</tcp>
  <tcp title="tcpOutRsts">1.3.6.1.2.1.6.15</tcp>
  </TCP>
- <UDP title="Udp">
  1.3.6.1.2.1.7
  <udp title="udpInDatagrams">1.3.6.1.2.1.7.1</udp>
  <udp title="udpInNoPorts">1.3.6.1.2.1.7.2</udp>
  <udp title="udpInErrors">1.3.6.1.2.1.7.3</udp>
  <udp title="udpOutDatagrams">1.3.6.1.2.1.7.4</udp>
- <udp title="udpTable">
  1.3.6.1.2.1.7.5
- <udp title="udpEntry">
  1.3.6.1.2.1.7.5.1
  <udp title="udpLocalAddress">1.3.6.1.2.1.7.5.1.1</udp>
  <udp title="udpLocalPort">1.3.6.1.2.1.7.5.1.2</udp>
  </udp>
  </udp>
  </UDP>
- <EGP title="Egp">
  1.3.6.1.2.1.8
  <egp title="egpInMsgs">1.3.6.1.2.1.8.1</egp>
  <egp title="egpInErrors">1.3.6.1.2.1.8.2</egp>
  <egp title="egpOutMsgs">1.3.6.1.2.1.8.3</egp>
  <egp title="egpOutErrors">1.3.6.1.2.1.8.4</egp>
- <egp title="egpNeighTable">
  1.3.6.1.2.1.8.5
- <egp title="egpNeighEntry">
  1.3.6.1.2.1.8.5.1
  <egp title="egpNeighState">1.3.6.1.2.1.8.5.1.1</egp>
  <egp title="egpNeighAddr">1.3.6.1.2.1.8.5.1.2</egp>
  <egp title="egpNeighAs">1.3.6.1.2.1.8.5.1.3</egp>
  <egp title="egpNeighInMsgs">1.3.6.1.2.1.8.5.1.4</egp>
  <egp title="egpNeighInErrs">1.3.6.1.2.1.8.5.1.5</egp>
  <egp title="egpNeighOutMsgs">1.3.6.1.2.1.8.5.1.6</egp>
  <egp title="egpNeighOutErrs">1.3.6.1.2.1.8.5.1.7</egp>
  <egp title="egpNeighInErrMsgs">1.3.6.1.2.1.8.5.1.8</egp>
  <egp title="egpNeighOutErrMsgs">1.3.6.1.2.1.8.5.1.9</egp>
  <egp title="egpNeighStateUps">1.3.6.1.2.1.8.5.1.10</egp>
  <egp title="egpNeighStateDowns">1.3.6.1.2.1.8.5.1.11</egp>
  <egp title="egpNeighIntervalHello">1.3.6.1.2.1.8.5.1.12</egp>
  <egp title="egpNeighIntervalPoll">1.3.6.1.2.1.8.5.1.13</egp>
  <egp title="egpNeighMode">1.3.6.1.2.1.8.5.1.14</egp>
  <egp title="egpNeighEventTrigger">1.3.6.1.2.1.8.5.1.15</egp>
  </egp>
  </egp>
  <egp title="egpAs">1.3.6.1.2.1.8.6</egp>
  </EGP>
- <SNMP title="Snmp">
  1.3.6.1.2.1.11
  <snmp title="snmpInPkts">1.3.6.1.2.1.11.1</snmp>
  <snmp title="snmpOutPkts">1.3.6.1.2.1.11.2</snmp>
  <snmp title="snmpInBadVersions">1.3.6.1.2.1.11.3</snmp>
  <snmp title="snmpInBadCommunityNames">1.3.6.1.2.1.11.4</snmp>
  <snmp title="snmpInBadCommunityUses">1.3.6.1.2.1.11.5</snmp>
  <snmp title="snmpInASNParseErrs">1.3.6.1.2.1.11.6</snmp>
  <snmp title="snmpInBadTypes">1.3.6.1.2.1.11.7</snmp>
  <snmp title="snmpInTooBigs">1.3.6.1.2.1.11.8</snmp>
  <snmp title="snmpInNoSuchNames">1.3.6.1.2.1.11.9</snmp>
  <snmp title="snmpInBadValues">1.3.6.1.2.1.11.10</snmp>
  <snmp title="snmpInReadOnlys">1.3.6.1.2.1.11.11</snmp>
  <snmp title="snmpInGenErrs">1.3.6.1.2.1.11.12</snmp>
  <snmp title="snmpInTotalReqVars">1.3.6.1.2.1.11.13</snmp>
  <snmp title="snmpInTotalSetVars">1.3.6.1.2.1.11.14</snmp>
  <snmp title="snmpInGetRequests">1.3.6.1.2.1.11.15</snmp>
  <snmp title="snmpInGetNexts">1.3.6.1.2.1.11.16</snmp>
  <snmp title="snmpInSetRequests">1.3.6.1.2.1.11.17</snmp>
  <snmp title="snmpInGetResponses">1.3.6.1.2.1.11.18</snmp>
  <snmp title="snmpInTraps">1.3.6.1.2.1.11.19</snmp>
  <snmp title="snmpOutTooBigs">1.3.6.1.2.1.11.20</snmp>
  <snmp title="snmpOutNoSuchNames">1.3.6.1.2.1.11.21</snmp>
  <snmp title="snmpOutBadValues">1.3.6.1.2.1.11.22</snmp>
  <snmp title="snmpOutReadOnlys">1.3.6.1.2.1.11.23</snmp>
  <snmp title="snmpOutGetErrs">1.3.6.1.2.1.11.24</snmp>
  <snmp title="snmpOutGetRequests">1.3.6.1.2.1.11.25</snmp>
  <snmp title="snmpOutGetNexts">1.3.6.1.2.1.11.26</snmp>
  <snmp title="snmpOutSetRequests">1.3.6.1.2.1.11.27</snmp>
  <snmp title="snmpOutGetResponses">1.3.6.1.2.1.11.28</snmp>
  <snmp title="snmpOutTraps">1.3.6.1.2.1.11.29</snmp>
  <snmp title="snmpEnableAuthTraps">1.3.6.1.2.1.11.30</snmp>
  </SNMP>
  </MIB>
  </MGMT>
- <PRIVATE title="PRIVATE">
  1.3.6.1.4
- <ENTERPRISE title="ENTERPRISE">
- <MS title="Microsoft">
  1.3.6.1.4.1.311
- <ms title="Software">
  1.3.6.1.4.1.311.1
  <ms title="Systems">1.3.6.1.4.1.311.1.1</ms>
  <ms title="Wins">1.3.6.1.4.1.311.1.2</ms>
  <ms title="Dhcp">1.3.6.1.4.1.311.1.3</ms>
- <ms title="Internet Server">
  1.3.6.1.4.1.311.1.7
- <ms title="Ftp Server">
  1.3.6.1.4.1.311.1.7.2
  <ms title="totalFilesSent">1.3.6.1.4.1.311.1.7.2.1.5</ms>
  <ms title="totalFilesReceived">1.3.6.1.4.1.311.1.7.2.1.6</ms>
  <ms title="currentAnonymousUsers">1.3.6.1.4.1.311.1.7.2.1.7</ms>
  <ms title="currentNonAnonymousUsers">1.3.6.1.4.1.311.1.7.2.1.8</ms>
  <ms title="currentConnections">1.3.6.1.4.1.311.1.7.2.1.13</ms>
  <ms title="maxConnections">1.3.6.1.4.1.311.1.7.2.1.14</ms>
  </ms>
- <ms title="HTTP Server">
  1.3.6.1.4.1.311.1.7.3
  <ms title="currentAnonymousUsers">1.3.6.1.4.1.311.1.7.3.1.6</ms>
  <ms title="currentNonAnonymousUsers">1.3.6.1.4.1.311.1.7.3.1.7</ms>
  <ms title="currentConnections">1.3.6.1.4.1.311.1.7.3.1.13</ms>
  <ms title="maxConnections">1.3.6.1.4.1.311.1.7.3.1.14</ms>
  <ms title="totalGets">1.3.6.1.4.1.311.1.7.3.1.16</ms>
  <ms title="totalPosts">1.3.6.1.4.1.311.1.7.3.1.17</ms>
  <ms title="totalCGIRequests">1.3.6.1.4.1.311.1.7.3.1.20</ms>
  <ms title="totalNotFoundErrors">1.3.6.1.4.1.311.1.7.3.1.22</ms>
  </ms>
  </ms>
  </ms>
  </MS>
- <CISCO title="Cisco">
  1.3.6.1.4.1.9
- <cisco title="Product">
  1.3.6.1.4.1.9.1
  <cisco title="gateway-server">1.3.6.1.4.1.9.1.1</cisco>
  <cisco title="terminal-server">1.3.6.1.4.1.9.1.2</cisco>
  <cisco title="trouter">1.3.6.1.4.1.9.1.3</cisco>
  <cisco title="protocol translator">1.3.6.1.4.1.9.1.4</cisco>
  <cisco title="igs">1.3.6.1.4.1.9.1.5</cisco>
  </cisco>
- <cisco title="Local">
  1.3.6.1.4.1.9.2
- <cisco title="lsystem">
  1.3.6.1.4.1.9.2.1
  <cisco title="romId">1.3.6.1.4.1.9.2.1.1</cisco>
  <cisco title="whyReload">1.3.6.1.4.1.9.2.1.2</cisco>
  <cisco title="hostName">1.3.6.1.4.1.9.2.1.3</cisco>
  <cisco title="domainName">1.3.6.1.4.1.9.2.1.4</cisco>
  <cisco title="authAddr">1.3.6.1.4.1.9.2.1.5</cisco>
  <cisco title="bootHost">1.3.6.1.4.1.9.2.1.6</cisco>
  <cisco title="ping">1.3.6.1.4.1.9.2.1.7</cisco>
  <cisco title="freeMemory">1.3.6.1.4.1.9.2.1.8</cisco>
  <cisco title="netConfigIP">1.3.6.1.4.1.9.2.1.48</cisco>
  <cisco title="netConfigName">1.3.6.1.4.1.9.2.1.49</cisco>
  <cisco title="hostConfigIP">1.3.6.1.4.1.9.2.1.51</cisco>
  <cisco title="hostConfigName">1.3.6.1.4.1.9.2.1.52</cisco>
  <cisco title="CPUbusyPercentage">1.3.6.1.4.1.9.2.1.56</cisco>
  <cisco title="CPUavgBusy1">1.3.6.1.4.1.9.2.1.57</cisco>
  <cisco title="CPUavgBusy5">1.3.6.1.4.1.9.2.1.58</cisco>
  </cisco>
- <cisco title="linterfaces">
  1.3.6.1.4.1.9.2.2
- <cisco title="lifTable">
  1.3.6.1.4.1.9.2.2.1
- <cisco title="lifEntry">
  1.3.6.1.4.1.9.2.2.1.1
  <cisco title="locIfHardType">1.3.6.1.4.1.9.2.2.1.1.1</cisco>
  <cisco title="locIfLineProt">1.3.6.1.4.1.9.2.2.1.1.2</cisco>
  <cisco title="locIfLastIn">1.3.6.1.4.1.9.2.2.1.1.3</cisco>
  <cisco title="locIfLastOut">1.3.6.1.4.1.9.2.2.1.1.4</cisco>
  <cisco title="locIfBitsSec">1.3.6.1.4.1.9.2.2.1.1.6</cisco>
  <cisco title="locIfInPktsSec">1.3.6.1.4.1.9.2.2.1.1.7</cisco>
  <cisco title="locIfOutBitsSec">1.3.6.1.4.1.9.2.2.1.1.8</cisco>
  <cisco title="locIfOutPktsSec">1.3.6.1.4.1.9.2.2.1.1.9</cisco>
  </cisco>
  </cisco>
  </cisco>
  <cisco title="lat">1.3.6.1.4.1.9.2.3</cisco>
  <cisco title="lip">1.3.6.1.4.1.9.2.4</cisco>
  <cisco title="licmp">1.3.6.1.4.1.9.2.5</cisco>
  <cisco title="ltcp">1.3.6.1.4.1.9.2.6</cisco>
  <cisco title="ludp">1.3.6.1.4.1.9.2.7</cisco>
  <cisco title="legp">1.3.6.1.4.1.9.2.8</cisco>
  <cisco title="lts">1.3.6.1.4.1.9.2.9</cisco>
  </cisco>
- <cisco title="Temporary">
  1.3.6.1.4.1.9.3
  <cisco title="decnet">1.3.6.1.4.1.9.3.1</cisco>
  <cisco title="xns">1.3.6.1.4.1.9.3.2</cisco>
  <cisco title="appletalk">1.3.6.1.4.1.9.3.3</cisco>
  <cisco title="novell">1.3.6.1.4.1.9.3.4</cisco>
  <cisco title="vines">1.3.6.1.4.1.9.3.5</cisco>
  </cisco>
  </CISCO>
- <HP title="HP">
  1.3.6.1.4.1.11
- <hp title="nm">
  1.3.6.1.4.1.11.2
- <hp title="System">
  1.3.6.1.4.1.11.2.3
- <hp title="general">
  1.3.6.1.4.1.11.2.3.1
- <hp title="ComputerSystem">
  1.3.6.1.4.1.11.2.3.1.1
  <hp title="sysUpTime">1.3.6.1.4.1.11.2.3.1.1.1</hp>
  <hp title="sysUsers">1.3.6.1.4.1.11.2.3.1.1.2</hp>
  <hp title="sysAvgJobs1">1.3.6.1.4.1.11.2.3.1.1.3</hp>
  <hp title="sysAvgJobs5">1.3.6.1.4.1.11.2.3.1.1.4</hp>
  <hp title="sysAvgJobs15">1.3.6.1.4.1.11.2.3.1.1.5</hp>
  <hp title="sysMaxProcess">1.3.6.1.4.1.11.2.3.1.1.6</hp>
  <hp title="sysFreeMemory">1.3.6.1.4.1.11.2.3.1.1.7</hp>
  <hp title="sysPhysMemory">1.3.6.1.4.1.11.2.3.1.1.8</hp>
  <hp title="sysMaxUserMemory">1.3.6.1.4.1.11.2.3.1.1.9</hp>
  <hp title="sysSwapConfig">1.3.6.1.4.1.11.2.3.1.1.10</hp>
  <hp title="sysEnabledSwap">1.3.6.1.4.1.11.2.3.1.1.11</hp>
  <hp title="sysFreeSwap">1.3.6.1.4.1.11.2.3.1.1.12</hp>
  <hp title="sysUserCPU">1.3.6.1.4.1.11.2.3.1.1.13</hp>
  <hp title="sysSysCPU">1.3.6.1.4.1.11.2.3.1.1.14</hp>
  <hp title="sysIdleCPU">1.3.6.1.4.1.11.2.3.1.1.15</hp>
  <hp title="sysNiceCPU">1.3.6.1.4.1.11.2.3.1.1.16</hp>
  </hp>
- <hp title="fileSystem">
  1.3.6.1.4.1.11.2.3.1.2
  <hp title="fileSystemMounted">1.3.6.1.4.1.11.2.3.1.2.1</hp>
- <hp title="fileSystemTable">
  1.3.6.1.4.1.11.2.3.1.2.2
- <hp title="filesystemEntry">
  1.3.6.1.4.1.11.2.3.1.2.2.1
  <hp title="fileSystemName">1.3.6.1.4.1.11.2.3.1.2.2.1.3</hp>
  <hp title="fileSystemBlock">1.3.6.1.4.1.11.2.3.1.2.2.1.4</hp>
  <hp title="fileSystemBlockFree">1.3.6.1.4.1.11.2.3.1.2.2.1.5</hp>
  </hp>
  </hp>
  </hp>
- <hp title="Processes">
  1.3.6.1.4.1.11.2.3.1.4
  <hp title="processNumber">1.3.6.1.4.1.11.2.3.1.4.1</hp>
- <hp title="processTable">
  1.3.6.1.4.1.11.2.3.1.4.2
- <hp title="processEntry">
  1.3.6.1.4.1.11.2.3.1.4.2.1
  <hp title="processPID">1.3.6.1.4.1.11.2.3.1.4.2.1.1</hp>
  <hp title="processParentPID">1.3.6.1.4.1.11.2.3.1.4.2.1.4</hp>
  <hp title="processAddr">1.3.6.1.4.1.11.2.3.1.4.2.1.13</hp>
  <hp title="processUserTime">1.3.6.1.4.1.11.2.3.1.4.2.1.15</hp>
  <hp title="processSysTime">1.3.6.1.4.1.11.2.3.1.4.2.1.16</hp>
  <hp title="processStatus">1.3.6.1.4.1.11.2.3.1.4.2.1.19</hp>
  <hp title="processCmd">1.3.6.1.4.1.11.2.3.1.4.2.1.22</hp>
  <hp title="processPercentCPU">1.3.6.1.4.1.11.2.3.1.4.2.1.27</hp>
  <hp title="processUserName">1.3.6.1.4.1.11.2.3.1.4.2.1.30</hp>
  </hp>
  </hp>
  </hp>
  <hp title="Cluster">1.3.6.1.4.1.11.2.3.1.5</hp>
  </hp>
  <hp title="hpux">1.3.6.1.4.1.11.2.3.2</hp>
  <hp title="hpsun">1.3.6.1.4.1.11.2.3.10</hp>
  </hp>
  <hp title="Interface">1.3.6.1.4.1.11.2.4</hp>
  <hp title="Icmp">1.3.6.1.4.1.11.2.7</hp>
  <hp title="Snmp">1.3.6.1.4.1.11.2.13</hp>
- <hp title="OpenView">
  1.3.6.1.4.1.11.2.17
  <hp title="openViewTrapVars">1.3.6.1.4.1.11.2.17.2</hp>
- <hp title="hpOVDistribStation">
  1.3.6.1.4.1.11.2.17.4
  <hp title="hpOVNetmon">1.3.6.1.4.1.11.2.17.4.4</hp>
  </hp>
  </hp>
  </hp>
  </HP>
  <SUN title="Sun Microsystem">1.3.6.1.4.1.42</SUN>
- <NS title="NetScreen">
  1.3.6.1.4.1.3224
- <ns title="traps">
  1.3.6.1.4.1.3224.1
  <ns title="TrapType">1.3.6.1.4.1.3224.1.1</ns>
  <ns title="TrapDesc">1.3.6.1.4.1.3224.1.3</ns>
  </ns>