# Problem mit HTML.Tag.OPTION



## Purgator (8. Feb 2011)

Aloha,

ich möchte aus einem Text mögliche HTML-Formular-Elemente finden und von diesen den Namen und die Value speichern.

Dafür gehe ich folgendermaßen vor:

```
HTML.Tag[] tags = { HTML.Tag.INPUT, HTML.Tag.SELECT, HTML.Tag.OPTION, HTML.Tag.TEXTAREA };
				ArrayList<Pair<String, String>> forms = new ArrayList<Pair<String, String>>();
				HTMLEditorKit editKit = new HTMLEditorKit();
				StringReader reader = new StringReader(content);
				HTMLDocument.Iterator iterator;

				HTMLDocument htmlDoc = (HTMLDocument) editKit.createDefaultDocument();
				editKit.read(reader, htmlDoc, 0);

				for (int i = 0; i < tags.length; i++) {
					iterator = htmlDoc.getIterator(tags[i]);
					for (; iterator.isValid(); iterator.next()) {
						AttributeSet attributes = iterator.getAttributes();
						String formName = (String) attributes.getAttribute(HTML.Attribute.NAME);
						String formValue = (String) attributes.getAttribute(HTML.Attribute.VALUE);
						forms.add(new Pair<String, String>(formName, formValue));
					}
				}
```

Das ganze funktioniert auch, bis auf den option-Tag. Dieser wird nie im Text (content) gefunden - auch wenn dieser vorhanden ist.
Woran könnte das liegen?

(Pair ist einfach nur eine Klasse, welche zwei Datentypen aufnehmen kann. Ich bin mir zwar ziemlich sicher, dass Java dafür etwas bereitstellt - jedoch muss ich peinlicherweise zugeben noch nichts gefunden zu haben.)


----------



## maki (8. Feb 2011)

*verschoben*


----------



## brauner1990 (8. Feb 2011)

Purgator hat gesagt.:


> (Pair ist einfach nur eine Klasse, welche zwei Datentypen aufnehmen kann. Ich bin mir zwar ziemlich sicher, dass Java dafür etwas bereitstellt - jedoch muss ich peinlicherweise zugeben noch nichts gefunden zu haben.)


Jo ... 
	
	
	
	





```
Hashmap <String,String>
```


----------



## Purgator (8. Feb 2011)

Erst einmal Verzeihung für den falschen Bereich.

HashMap wäre natürlich eine Alternative. Da sie jedoch theoretisch mehrere Key-Value Paare haben könnte - dachte ich, dass es für welche die den Code zum ersten mal sehen eventuell verwirrend ist und sich z.B. wundern warum immer nur auf einen Eintrag zugegriffen wird.
Zudem hätte man keine einfache "getKey" Methode (weil man in der HashMap ja sich das KeySet holt).
Also gehen würde es allemal - nur hätte ich nicht gedacht, dass es dafür auch angewendet wird.


----------

