Worked around Radio's lame XML encoding support.

This commit is contained in:
Erik C. Thauvin 2004-07-24 14:58:49 +00:00
parent fa8a7eae02
commit 76bbb6e781
5 changed files with 85 additions and 94 deletions

View file

@ -98,13 +98,13 @@ public class LifePost extends LifeAction
final StringBuffer request =
new StringBuffer("<?xml version=\"1.0\"?><methodCall><methodName>blogger.newPost</methodName><params><param><value><string>0a6afffffffaffffffb8ffffff8569474cffffffc778500c03ffffffecffffff876116565a27283bffffffda56</string></value></param><param><value><string>").append(_blogID)
.append("</string></value></param><param><value><string>")
.append(getLogin())
.append("</string></value></param><param><value><string>")
.append(getPassword())
.append("</string></value></param><param><value><string>")
.append(textToXML(_blogEntry))
.append("</string></value></param><param><value><boolean>false</boolean></value></param></params></methodCall>");
.append("</string></value></param><param><value><string>")
.append(getLogin())
.append("</string></value></param><param><value><string>")
.append(getPassword())
.append("</string></value></param><param><value><string>")
.append(textToXML(_blogEntry))
.append("</string></value></param><param><value><boolean>false</boolean></value></param></params></methodCall>");
final URLConnection urlConn = url.openConnection();
urlConn.setDoInput(true);
urlConn.setDoOutput(true);
@ -117,6 +117,8 @@ public class LifePost extends LifeAction
dos.flush();
dos.close();
System.out.println(request);
final LifeRPCResponse xmlrpc = new LifeRPCResponse(urlConn.getInputStream());
if (xmlrpc.isValidResponse())
@ -157,38 +159,20 @@ public class LifePost extends LifeAction
return ("&lt;");
}
// Convert left bracket
else if (ch == '>')
{
return ("&gt;");
}
// Convert ampersand
else if (ch == '&')
{
return ("&amp;");
}
// High-ASCII character
else if (ch >= 128)
// High/Low-ASCII character
else if (ch >= 128 || ch < 32)
{
c = (int) ch;
return ("&#" + c + ';');
}
// Convert double quote
else if (ch == '"')
{
return ("&quot;");
}
// Convert single quote
else if (ch == '\'')
{
return ("&#39;");
}
// No conversion
else
{