开发者

is the structure of file XML good to Parse in JAVA

开发者 https://www.devze.com 2023-02-17 05:46 出处:网络
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*

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);
        }
    }
0

精彩评论

暂无评论...
验证码 换一张
取 消