में डोम पार्सर का उपयोग करके मानों की सूची प्राप्त करें मुझे एक एंड्रॉइड एप्लिकेशन विकसित करना है।एंड्रॉइड
यहां मुझे xml प्रारूप का पालन करना है।
<Product>
<product name="viki" productid="111">
<ProductType>
<producttype>Nokia</producttype>
<producttype>Samsung</producttype>
</ProductType>
</product>
</Product>
यहाँ मैं product.so मैं निम्नलिखित कोड लिखा है particluar के लिए ProductType प्राप्त करने के लिए: अकेला मैं मूल्य नोकिया प्रदर्शित करने के लिए की जरूरत है
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);
}
यहाँ हूँ मूल्य मिल रहा है नोकिया है , सैमसंग ... अगर मुझे ऐप चलाने का मतलब है तो एकल मान प्राप्त करना है। लेकिन मुझे सभी मूल्यों की सूची प्राप्त करने की आवश्यकता है ..
मेरे कोड में क्या गलत है .. कृपया जांचें और मुझे समाधान दें ?? ?
अपने लॉग में, क्या आप दोनों 'उत्पाद प्रकार नोकिया' और 'उत्पाद प्रकार सैमसंग' दोनों देखते हैं? – MagicMicky
SAX पार्सर का उपयोग क्यों न करें, यह डोम पार्सर में स्मृति में सबकुछ रखने से अधिक स्मृति-कुशल है - और एंड्रॉइड ऐप्स में सीमित स्मृति है। – NoBugs
@NoBugs हाँ मैंने कोशिश की है। लेकिन मुझे sax पार्सर करने पर और अधिक समस्याएं आ रही हैं। यही कारण है कि मैं डोम पार्सर को चकित कर रहा हूं। – user2218667