i agree that a "better" way to handle it might be to come up with elaborate functions and recognitions schemes and add the strings togethers then handle all the special characters etc, but when you care about speed, its hard to beat SAX and a CDATA tag.