Parse XML usando DOM en Android

Hola, quiero analizar XML y mostrar la lista en función de la selección del usuario

mi xml se ve asi

debajo está mi código

      try {
            XMLParser parser = new XMLParser();
            Document doc = parser.getDomElement(xml); // getting DOM element
            NodeList n1 = doc.getElementsByTagName("company");

            // looping through all item nodes <item>
            for (int i = 0; i < n1.getLength(); i++) {
                // creating new HashMap
                Element e = (Element) n1.item(i);

                System.out.println("name node "+parser.getValue(e, "name"));
            }

de esta manera estoy obteniendo la salida como

  Company ABC
  Company XYZ

Lista de empresas

pero
Yo escribiría código como

        NodeList n1 = doc.getElementsByTagName("province"); 
        // looping through all item nodes <item>
            for (int i = 0; i < n1.getLength(); i++) {
                // creating new HashMap
                Element e = (Element) n1.item(i);

                System.out.println("name node "+parser.getValue(e, "name"));
            }

estoy obteniendo una lista del nombre de la provincia

   Alberta
   Ontario
   New York
   Florida

pero debería funcionar así

cuando selecciono la empresa ABC

solo se deben mostrar dos listas de provisiones

       Alberta
       Ontario

No debería mostrarse. ¿Puede cualquier cuerpo ayudarme a reescribir mi código?

Respuestas a la pregunta(5)

Su respuesta a la pregunta