Raspe valores de tags de seleção / opção HTML em R

Estou tentando (sem êxito) raspar alguns dados de um site (www.majidata.co.ke) usando R. Eu consegui raspar o HTML e analisá-lo, mas agora um pouco inseguro sobre como extrair os bits, na verdade necessidade!

Usando oXML biblioteca raspe meus dados usando este código:

majidata_get <- GET("http://www.majidata.go.ke/town.php?MID=MTE=&SMID=MTM=")
majidata_html <- htmlTreeParse(content(majidata_get, as="text"))

Isso me deixa com (Grande) XMLDocumentContent. Há uma lista suspensa na página da Web e quero extrair os valores dela (que se relacionam aos nomes e ao número de identificação de diferentes cidades). Os bits que quero extrair são os números entre<option value ="XXX">&nbsp;e o nome a seguir em maiúsculas.

<div class="regiondata">
       <div id="town_data">
        <select id="town" name="town" onchange="town_data(this.value);">
         <option value="0" selected="selected">[SELECT TOWN]</option>
         <option value="611">AHERO</option>
         <option value="635">AKALA</option>
         <option value="625">AWASI</option>
         <option value="628">AWENDO</option>
         <option value="749">BAHATI</option>
         <option value="327">BANGALE</option>

Idealmente, gostaria de tê-los em um data.frame em que a primeira coluna é o número e a segunda coluna é o nome, p.

ID       Name
611      AHERO
635      AKALA
625      AWASI

etc.

Não tenho muita certeza para onde ir daqui. Eu tinha pensado em usar regex e corresponder ao padrão contido no texto, embora tenha lido em vários fóruns que essa é uma má idéia e que é melhor / mais eficiente usar o xpath. Não sei por onde começar com isso, além de pensar que eu preciso usarxpathApplyde alguma forma.