[ 
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)

Reply via email to