48 votes

Obtenir un attribut d'un nœud dom

J'essaie d'obtenir un attribut d'un exemple de nœud XML :

 <Car name="Test">
</Car>

Je veux récupérer l'attribut name du nœud de voiture.

 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();          
Document doc = db.parse(configFile);
doc.getDocumentElement().normalize();           
NodeList layerConfigList = doc.getElementsByTagName("CAR");
Node node = layerConfigList.item(0);
// get the name attribute out of the node.

c'est là que je suis bloqué car la seule méthode qui semble pouvoir être utilisée est getAttributes() avec renvoie un NamedNodeMap et je ne sais pas comment l'extraire de cela.

81voto

rurouni Points 1243

Votre nœud est un élément, vous n'avez donc qu'à

 Element e = (Element)node;
String name = e.getAttribute("name");

17voto

lonesome Points 1044

vous pouvez le faire sans utiliser d'éléments, comme ceci :

 //HtmlTag represents any arbitrary node that you are trying to get its "car" attribute 

if("HtmlTag".equals(node.getNodeName()))
 String nodeContent=node.getAttributes().getNamedItem("car").getNodeValue()

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X