我想从服务中解析“ALışVERIÅŸ”类型的内容。

SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
myXMLHandler = new XMLHandler();
xr.setContentHandler(myXMLHandler);
URL _url = new URL(params[0]);
 xr.parse(new InputSource(_url.openStream()));

最佳答案

我尝试了DOM Parser而不是XaxParser的东西。检查以下函数,并在后台线程中调用它:

public String readXML(){
        StringBuilder stringBuilder = new StringBuilder();
         try {
                URL _url = new URL("http://182.160.161.2/~siva/turkish/web_serv/category.php?order_by=desc&category_id=2");
                File fXmlFile = new File(new InputSource(_url.openStream()).getByteStream().toString());
                DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
                DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
                Document doc = dBuilder.parse(new InputSource(_url.openStream()).getByteStream());

                //optional, but recommended
                //read this - http://stackoverflow.com/questions/13786607/normalization-in-dom-parsing-with-java-how-does-it-work
                doc.getDocumentElement().normalize();

                System.out.println("Root element :" + doc.getDocumentElement().getNodeName());

                NodeList nList = doc.getElementsByTagName("document");

                Node nResp = nList.item(0);
                Element fstElmnt = (Element) nResp;
                NodeList nameList1 = fstElmnt.getElementsByTagName("response");

                Node mCat = nameList1.item(0);
                Element catElmt = (Element) mCat;

                NodeList catList = catElmt.getElementsByTagName("category");

                System.out.println("----------------------------");

                for (int temp = 0; temp < catList.getLength(); temp++) {

                    Node nNode = catList.item(temp);

                    System.out.println("\nCurrent Element :" + nNode.getNodeName());

                    if (nNode.getNodeType() == Node.ELEMENT_NODE) {

                        Element eElement = (Element) nNode;

                        stringBuilder.append("Category ID : " + eElement.getElementsByTagName("category_name").item(0).getTextContent()+"\n");
                        stringBuilder.append("Category Name : " + eElement.getElementsByTagName("category_id").item(0).getTextContent());
                        System.out.println("Category ID : " + eElement.getElementsByTagName("category_name").item(0).getTextContent());
                        System.out.println("Category Name : " + eElement.getElementsByTagName("category_id").item(0).getTextContent());


                    }
                }
                } catch (Exception e) {
                e.printStackTrace();
                }
              return stringBuilder.toString();

    }


这是我的设备的屏幕截图,请看:
您也可以看到那些土耳其语:)

10-02 10:48