Comment obtenir les attributs de noeud racine sur Java
J'ai un fichier xml comme ci-dessous. Je veux obtenir les pharmacies nœuds' de latitude et de longitude attributs.Je peux obtenir chilnodes attributs mais couldnt get nœud racine attributs. Je suis nouveau sur java et xml. Je ne pouvais pas trouver une solution comment le faire.
<pharmacies Acc="4" latitude="36.8673380" longitude="30.6346640" address="Ayujkila">
<pharmacy name="sadde" owner="" address="dedes" distance="327.000555668" phone="342343" lat="36.8644" long="30.6345" accuracy="8"/>
<pharmacy name="Sun " owner="" address="degerse" distance="364.450016586" phone="45623" lat="36.8641" long="30.6353" accuracy="8"/>
<pharmacy name="lara" owner="" address="freacde" distance="927.262190129" phone="564667" lat="36.8731" long="30.6422" accuracy="8"
<end/>
</pharmacies>
C'est ma partie de code. J'obtenez un fichier xml à partir d'une adresse url.
DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new InputSource(url.openStream()));
doc.getDocumentElement().normalize();
NodeList nodeList =doc.getElementsByTagName("pharmacy");
for (int i = 0; i < nodeList.getLength(); i++){
Node node =nodeList.item(i);
Element fstElmnt = (Element) node;
NodeList pharmacyList = fstElmnt.getElementsByTagName("pharmacy");
Element pharmacyElement = (Element) pharmacyList.item(0);
Element pharmacyElement = (Element) pharmacyList.item(0);
HashMap<String,String>map=new HashMap<String,String>();
map.put("name", pharmacyElement.getAttribute("name"));
map.put("distance", pharmacyElement.getAttribute("phone"));
list.add(map);
latt.add(pharmacyElement.getAttribute("lat"));
....
source d'informationauteur jharry | 2011-01-19
Vous devez vous connecter pour publier un commentaire.
La
<pharmacies>
élément lui-même peut être obtenue à l'aide deVous pouvez obtenir les attributs.
doc.getDocumentElement()
sera de retour l'élément racine et vous pouvez appelergetAttribute( attrName )
sur elle comme vous le feriez sur n'importe quel autre élément.essayez ce qui suit:
Vous avez besoin d'utiliser des pharmacies de la place de la pharmacie si vous avez besoin d'obtenir les attributs d'un noeud racine pharmacies.Et l'utilisation getAttributes méthode à la place.Vous pouvez voir beaucoup d'exemples sur ce site.
http://java.sun.com/developer/codesamples/xml.html#dom
Essayer Son Travail Pour moi, Res est votre Chaîne finale:
La
<pharmacies>
est lui-même un élément & peut être obtenue à l'aide deElement pharmacies = doc.getDocumentElement();
Maintenant ce
pharmacies
variable de référence de Éléments possède tous les attributs en vertu de<pharmacies>
élément. Nous pouvons obtenir les attributs un par un en utilisant le nom de l'attribut comme :