Devo sviluppare un'applicazione Android.Ottieni l'elenco dei valori utilizzando dom parser in Android
Qui ho seguito il seguente formato xml.
<Product>
<product name="viki" productid="111">
<ProductType>
<producttype>Nokia</producttype>
<producttype>Samsung</producttype>
</ProductType>
</product>
</Product>
Qui ho per ottenere il di prodotto per particluar product.so ho scritto il seguente codice:
if(subCategoryChildNode.hasChildNodes()){
// parse 'Subcategory' childs
NodeList productNL = subCategoryChildElmt.getElementsByTagName("product");
if(productNL.getLength() > 0){
ArrayList<Product> productAL = new ArrayList<Product>();
Product productBean = null;
for(int pCnt=0;pCnt<productNL.getLength();pCnt++){
Node productNode = productNL.item(pCnt);
Element productElmt = null;
// parse 'product' tag attributes
if(productNode.hasAttributes()){
productBean = new Product();
productElmt = (Element)productNode;
productBean.setmProductName(productElmt.getAttribute("name"));
}
if(productNode.hasChildNodes()){
NodeList productTypeNL = productElmt.getElementsByTagName("ProductType");
if(productTypeNL.getLength() > 0){
ArrayList<ProductType> ProductTypeAL = new ArrayList<ProductType>();
ProductType productTypeBean = null;
for(int ptCnt=0;ptCnt<productTypeNL.getLength();ptCnt++){
Node productTypeNode = productTypeNL.item(ptCnt);
Element productTypeElmt = null;
if(productTypeNode.hasChildNodes()){
productTypeBean = new ProductType();
productTypeElmt = (Element)productTypeNode;
productTypeBean.setmProductType(XMLfunctions.getValue(productTypeElmt,"producttype"));
System.out.println("Product Types are "+ " "+XMLfunctions.getValue(productTypeElmt,"producttype"));
ProductTypeAL.add(productTypeBean);
}
productBean.setmProductTypes(ProductTypeAL);
}
productAL.add(productBean);
}
}
subCategoryBean.setmProducts(productAL);
}
}
subCategoryAL.add(subCategoryBean);
}
Qui sto ottenendo il valore è Nokia alone.but ho bisogno di visualizzare il valore di Nokia , samsung ... se devo eseguire l'app significa ottenere single value.but ho bisogno di ottenere l'elenco di tutti i valori ..
Cosa c'è di sbagliato nel mio codice .. si prega di controllare e darmi soluzione per questi ?? ?
Nel registro, vedete sia 'Tipi di prodotti sono Nokia' che' Tipi di prodotto sono Samsung'? – MagicMicky
Perché non utilizzare parser SAX, è più efficiente in termini di memoria che tenere tutto in memoria in un parser DOM - e le app Android hanno memoria limitata. – NoBugs
@NoBugs sì, ho provato a that.but ho più problemi a fare il parser sax. Ecco perché ho un pars pars domico. – user2218667