[ https://issues.apache.org/jira/browse/LANG-1019?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14040242#comment-14040242 ]
Yegor Bugayenko edited comment on LANG-1019 at 6/22/14 8:57 PM: ---------------------------------------------------------------- This is how I would implement it: {noformat} public static String escapeXPath(final String text) { final String escaped; if (text.indexOf('\'') == -1) { escaped = new StringBuilder(text.length() + 2) .append('\'').append(text).append('\'').toString(); } else { escaped = new StringBuilder(Tv.FIFTY + text.length()) .append("concat('") .append(text.replace("'", "', \"'\", '")) .append("')") .toString(); } return escaped; } {noformat} was (Author: yegor256): Here is how I would implement it: {noformat} public static String escapeXPath(final String text) { final String escaped; if (text.indexOf('\'') == -1) { escaped = new StringBuilder(text.length() + 2) .append('\'').append(text).append('\'').toString(); } else { escaped = new StringBuilder(Tv.FIFTY + text.length()) .append("concat('") .append(text.replace("'", "', \"'\", '")) .append("')") .toString(); } return escaped; } {noformat} > StringEscapeUtils.escapeXPath() > ------------------------------- > > Key: LANG-1019 > URL: https://issues.apache.org/jira/browse/LANG-1019 > Project: Commons Lang > Issue Type: Improvement > Components: lang.* > Affects Versions: 3.3.2 > Reporter: Yegor Bugayenko > > Would be great to create a method that would escape a string for XPath. It is > a well known problem that XPath doesn't have a mechanism for quotes escaping. > See for example > http://stackoverflow.com/questions/14822153/escape-single-quote-in-xpath-with-nokogiri > A very good workaround suggested here https://bugs.php.net/bug.php?id=51785 > Would be great to add a method to StringEscapeUtils -- This message was sent by Atlassian JIRA (v6.2#6252)