Mercurial Hosting > luan
changeset 1793:a55a891a4f67
xml minor
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 28 Dec 2023 11:36:24 -0700 |
parents | a5f62fe28b3e |
children | 04ac5f2771c8 |
files | src/goodjava/xml/XmlElement.java |
diffstat | 1 files changed, 28 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
diff -r a5f62fe28b3e -r a55a891a4f67 src/goodjava/xml/XmlElement.java --- a/src/goodjava/xml/XmlElement.java Tue Dec 26 20:57:19 2023 -0700 +++ b/src/goodjava/xml/XmlElement.java Thu Dec 28 11:36:24 2023 -0700 @@ -58,7 +58,7 @@ sb.append( ' ' ); sb.append( attribute.getKey() ); sb.append( "=\"" ); - sb.append( encode(attribute.getValue()) ); + sb.append( encodeAttr(attribute.getValue()) ); sb.append( '"' ); } if( content == null ) { @@ -112,6 +112,33 @@ case '\'': buf.append("'"); break; + default: + buf.append(c); + } + } + return buf.toString(); + } + + public static String encodeAttr(String s) { + final char[] a = s.toCharArray(); + StringBuilder buf = new StringBuilder(); + for( char c : a ) { + switch(c) { + case '&': + buf.append("&"); + break; + case '<': + buf.append("<"); + break; + case '>': + buf.append(">"); + break; + case '"': + buf.append("""); + break; + case '\'': + buf.append("'"); + break; case '\n': buf.append(" "); break;