Я пытаюсь получить помощь от экспертов по Java из SO по этому вопросу.Я сталкивался со старой реализацией XMLParser в долгом проекте ... Эта реализация, на мой взгляд, неверна или может быть улучшена ... Мне было интересно, если кто-то может дать указатель на то, что делать, мнение будетвысоко цениться ...
Это проект maven с pom.xml для зависимости ...
Проблема ...
Так что в основном кто-то использовал в проекте класс SAXParser непосредственно из внутреннего JRE IBM ...
Как я могу преобразовать этот код в зависимость, свободную от WAS (Websphere Aplication Server)?
public boolean parse(){
boolean res = false;
try {
SAXParser p = new SAXParser(); // Need to replace this for better aproach
p.setContentHandler(this); // Need to replace this for better aproach
InputSource inputSource = new InputSource(new StringReader(source));
if (inputSource != null){
p.parse(inputSource); // Need to replace this for better aproach
}
res = true;
}
catch (Exception e) {
System.err.println("public void parse()"+e.getLocalizedMessage());
res= false;
e.printStackTrace();
}
return res;
}
ОБНОВЛЕНИЕ
Миграция прошла успешно:)
...
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
...
public boolean parse(){
boolean res = false;
try {
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(true);
javax.xml.parsers.SAXParser saxParser = spf.newSAXParser();
XMLReader xmlReader = saxParser.getXMLReader();
xmlReader.setContentHandler(this);
InputSource inputSource = new InputSource(new StringReader(source));
if (inputSource != null){
xmlReader.parse(inputSource);
}
res = true;
}
catch (Exception e) {
System.err.println("public void parse()"+e.getLocalizedMessage());
res= false;
e.printStackTrace();
}
return res;
}