Как сказать Java, какой StringEscapeUtils.escapeXML () использовать? - PullRequest
3 голосов
/ 16 декабря 2008

Я пытаюсь использовать функцию StringEscapeUtils.escapeXML () из org.apache.commons.lang ...

Существует две версии этой функции: одна ожидает (Writer, String), а другая - только (String) ....

http://commons.apache.org/lang/api/org/apache/commons/lang/StringEscapeUtils.html#escapeXml(java.lang.String)

Я пытаюсь использовать версию, которая только ожидает параметр String без Writer, но Java жалуется, что я не дал ему Writer.

Как мне использовать это в моей программе, чтобы мне не нужен Writer?

String escXml = StringEscapeUtils.escapeXml(attr.get());
xml = xml.concat("<"+attr.getID()+">"+escXml+"</"+attr.getID()+">");

Я также пытался сделать это встроенным в самой строке.

xml = xml.concat("<"+attr.getID()+">"+StringEscapeUtils.escapeXml(attr.get())+"</"+attr.getID()+">");

Обе эти попытки дали мне ошибку об ожидании Писателя. Кто-нибудь может мне помочь с этим?

Спасибо, Matt

Ответы [ 3 ]

6 голосов
/ 16 декабря 2008

В сообщении об ошибке сообщается, что в метод передается объект, а не строка.

Если вы уверены, что объект является строкой, то сначала вам нужно привести его к строке.

Если это не сработает, пожалуйста, опубликуйте фактический код, который доставляет вам проблемы.

2 голосов
/ 18 октября 2012

Вам следует скомпилировать класс java с указанной версией, если у вас установлено более одной версии java в вашей системе.

Вы должны скомпилировать свой файл, используя этот способ.

javac -target -source

Eg H:> javac - цель 1.6 - источник 1.6 Testt.java

Таким образом, ваша целевая и исходная версия сообщаются Java, чтобы он вызывал определенный класс версии во время выполнения.

0 голосов
/ 16 декабря 2008

Что такое сообщение об ошибке компилятора?

Возможно ли, что вы используете другую версию библиотеки Commons, в которой нет метода с 1 параметром?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...