is the structure of file XML good to Parse in JAVA
i have a file XML, i don't know the structure is good or no
my problem: I cann't get the *certain sous_categories* who belong to c*ategorie current*
for exemple: categorie with id_cat=1 ; i want to get the two sous_categorie 1 and 2.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<categories>
<categorie id_cat="1" titre="Tourisme">
<sous_categorie id_sscat="1">
<titre>Office de tourisme</titre>
<description>Office de tourisme</description>
<icone>http://www.testURL.fr/images/cat/restaurant.png</icone>
</sous_categorie>
<sous_categorie id_sscat="2" >
<titre>Monuments/Site historique ou archéologique</titre>
<description>Monuments/Site historique ou archéologique</description>
开发者_StackOverflow中文版 <icone>http://www.testURL.fr/images/cat/museum-historical.png</icone>
</sous_categorie>
</categorie>
<categorie id_cat="2" titre="Paysager">
<sous_categorie id_sscat="6">
<titre>Parc</titre>
<description>Parc</description>
<icone>http://www.testURL.fr/images/cat/park-urban.png</icone>
</sous_categorie>
<sous_categorie id_sscat="7">
<titre>Réserve naturelle</titre>
<description>Réserve naturelle</description>
<icone>http://www.testURL.fr/images/cat/riparian.png</icone>
</sous_categorie>
<sous_categorie id_sscat="8">
<titre>Site de loisir naturel ou aménagé</titre>
<description>Site de loisir naturel ou aménagé</description>
<icone>http://www.testURL.fr/images/cat/park.png</icone>
</sous_categorie>
</categorie>
<categorie id_cat="3" titre="Arts et Culture">
<sous_categorie id_sscat="10">
<titre>Musée</titre>
<description>Musée</description>
<icone>http://www.testURL.fr/images/cat/museum.png</icone>
</sous_categorie>
</categorie>
</categories>
thank you
Your XML is not well formed. You have two top-level entities (and the first one is not terminated):
<xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<categories>
<!-- ... -->
</categories>
This should be rewritten:
<categories xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- ... -->
</categories>
I have found the answer
ArrayCategory=new ArrayList<Category>();
//get the root element
//2
Element docEle = dom.getDocumentElement();
NodeList nl = docEle.getElementsByTagName("categorie");
//3
if(nl != null && nl.getLength() > 0) {
//3.1
for(int i = 0 ; i < nl.getLength();i++) {
//3.1
Element element_categorie = (Element)nl.item(i);
//3.2
String id_cat=element_categorie.getAttribute("id_cat");
String titreCat=element_categorie.getAttribute("titre");
String uriicon = getTextValue(element_categorie,"icone");
Category catTemp = new Category(id_cat, titreCat, uriicon);
catTemp.vsousCat= new ArrayList<Sous_category>();
//3.4
//NodeList sscatList= e1.getElementsByTagName("sous_categorie");
NodeList sousNodeList = element_categorie.getElementsByTagName("sous_categorie");
for(int j=0; j<sousNodeList.getLength();j++){
//3.4.1
Element sous_element_categorie = (Element) sousNodeList.item(j);
//3.4.2
String s_idcat = sous_element_categorie.getAttribute("id_sscat");
String s_titre= getTextValue(sous_element_categorie,"titre");
String s_description= getTextValue(sous_element_categorie,"description");
String s_uriicon = getTextValue(sous_element_categorie,"icone");
Sous_category sous_catTemp = new Sous_category(s_idcat, s_titre, s_description, s_uriicon);
//3.4.3 Ajouter SubCatTemp à Cate
catTemp.vsousCat.add(sous_catTemp);
//catTemp.sousCat.add(subTemp);
}
//add Category to the Arraylist of Category
ArrayCategory.add(catTemp);
}
}
精彩评论