1

事前に設定されている、filter my class という文字列があります。

文字列フィルタ="Abcd";

これで、外部 XML からデータを読み取る次のコードができました。

NodeList quizList = doc.getElementsByTagName("QuizData");

        HashMap<String, String> map = null;

        for (int i = 0; i < quizList.getLength(); i++) {

            map = new HashMap<String, String>();

            Node firstQuestionNode = quizList.item(i);

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

                Element firstAircraftElement = (Element) firstQuestionNode;
                // 1.-------
                NodeList idList = firstAircraftElement
                        .getElementsByTagName(KEY_ID);
                Element firstIdElement = (Element) idList.item(0);
                NodeList textIdList = firstIdElement.getChildNodes();
                // --id
                map.put(KEY_ID, textIdList.item(0).getNodeValue().trim());

                // 2.-------
                NodeList typeList = firstAircraftElement
                        .getElementsByTagName(KEY_TYPE);
                Element firstTypeElement = (Element) typeList.item(0);
                NodeList textTypeList = firstTypeElement.getChildNodes();
                // --type
                map.put(KEY_TYPE, textTypeList.item(0).getNodeValue()
                        .trim());

                // 3.-------
                NodeList quesList = firstAircraftElement
                        .getElementsByTagName(KEY_QUES);
                Element firstQuesElement = (Element) quesList.item(0);
                NodeList textQuesList = firstQuesElement.getChildNodes();
                // -- Question
                map.put(KEY_QUES, textQuesList.item(0).getNodeValue()
                        .trim());

                // Add to the Arraylist
                quizDataCollection.add(map);
            }
        }

ここで、KEY_TYPE= フィルターを持つノードのみをフィルター処理したいと考えています。つまり、type = Abcd であるすべての要素。どんな助けでも大歓迎です。

ありがとう、シド

4

0 に答える 0