XMLを配列化して、重複を取り除いてからセレクトボックスに入れれば良いのでは?
下記に、XMLデータから重複を取り除くサンプルを貼っておきます。
テストデータ
XML
1<?xml version="1.0" encoding="Shift_JIS"?>
2<vegitables title="野菜">
3 <vegitable id="1">
4 <name>人参</name>
5 </vegitable>
6 <vegitable id="1">
7 <name>人参</name>
8 </vegitable>
9 <vegitable id="2">
10 <name>セロリ</name>
11 </vegitable>
12 <vegitable id="3">
13 <name>ジャガイモ</name>
14 </vegitable>
15 <vegitable id="3">
16 <name>ジャガイモ</name>
17 </vegitable>
18 <vegitable id="3">
19 <name>ジャガイモ</name>
20 </vegitable>
21</vegitables>
PHP
1<?php
2$xml = "data.xml";//ファイルを指定
3$xmlData = simplexml_load_file($xml);//xmlを読み込む
4$json = json_encode($xmlData);//一度、jsonにしてから…
5$vegitableArray = json_decode($json,TRUE);//ここで配列化する
6
7$uniqueArray = array_unique($vegitableArray['vegitable'], SORT_REGULAR);//連想配列をユニークにすると…
8
9//結果、人参・セロリ・ジャガイモになる。
10foreach ($uniqueArray as $value) {
11 echo $value['name'] . nl2br("\n");
12}
13?>