private String parseInfoText() throws SAXException, InterruptedException {

		_xmlStream.pullStartElement();
		final StringBuilder textBuffer = new StringBuilder();

		while(true) {
			if(_xmlStream.matchIgnorableCharacters()) {
				String text = _xmlStream.pullIgnorableCharacters().getText();
				text = Pattern.compile("&").matcher(text).replaceAll("&amp;");
				text = Pattern.compile("<").matcher(text).replaceAll("&lt;");
				text = Pattern.compile(">").matcher(text).replaceAll("&gt;");
				textBuffer.append(text);
			}
			else if(_xmlStream.matchStartElement()) {
				StartElementEvent startElementEvent = _xmlStream.pullStartElement();
				textBuffer.append("<" + startElementEvent.getLocalName());
				final AttributeMap attributeMap = startElementEvent.getAttributes();
				if(attributeMap.size() > 0) {
					// Es gibt Attribute
					String attributeNames[] = attributeMap.getNames();
					for(int nr = 0; nr < attributeNames.length; nr++) {
						textBuffer.append(" " + attributeNames[nr] + "=\"" + attributeMap.getValue(attributeNames[nr]) + "\"");
					}
				}
				textBuffer.append(">");
			}
			else if(_xmlStream.matchCharacters()) {
				String text = _xmlStream.pullCharacters().getText();
				text = Pattern.compile("&").matcher(text).replaceAll("&amp;");
				text = Pattern.compile("<").matcher(text).replaceAll("&lt;");
				text = Pattern.compile(">").matcher(text).replaceAll("&gt;");
				textBuffer.append(text);
//				textBuffer.append(_xmlStream.pullCharacters().getText());
			}
			else if(_xmlStream.matchEndElement()) {
				if(_xmlStream.matchEndElement("beschreibung") || _xmlStream.matchEndElement("kurzinfo")) {
					break;
				}
				else {
					// Ein anderes EndTag gelesen
					textBuffer.append("</" + _xmlStream.pullEndElement().getLocalName() + ">");
				}
			}
		}

		//</beschreibung> oder </kurzinfo>
		_xmlStream.pullEndElement();

		return textBuffer.toString();
	}