事前に設定されている、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 であるすべての要素。どんな助けでも大歓迎です。
ありがとう、シド