Here is the meat and potatoes of the serializing handler:
/**
* This is an exact copy of the start element in the main handler.
*
* @param name string that holds the element name
* @param attributes AttributeList of attributes going with this
element
* @exception SAXException thrown on error (unexpected element)
*/
public void handleStartElement(String name, AttributeList attributes)
throws SAXException
{
accumulated.append('<');
accumulated.append(name);
for (int i = 0; i<attributes.getLength();i++)
{
accumulated.append(' ');
accumulated.append(attributes.getName(i));
accumulated.append('=');
accumulated.append('\"');
accumulated.append(attributes.getValue(i));
accumulated.append('\"');
}
accumulated.append('>');
}
What if change to: (escaping the bad values)
/**
* This is an exact copy of the start element in the main handler.
*
* @param name string that holds the element name
* @param attributes AttributeList of attributes going with this
element
* @exception SAXException thrown on error (unexpected element)
*/
public void handleStartElement(String name, AttributeList attributes)
throws SAXException
{
accumulated.append('<');
accumulated.append(name);
for (int i = 0; i<attributes.getLength();i++)
{
accumulated.append(' ');
accumulated.append(XMLData.escapeString(attributes.getName(i)));
accumulated.append('=');
accumulated.append('\"');
accumulated.append(XMLData.escapeString(attributes.getValue(i)));
accumulated.append('\"');
}
accumulated.append('>');
}
We could make a similar modification in the charaters() function:
/**
* This is an exact copy of the characters function in the main
handler
*
* @param ch character string detected
* @param start start position
* @param length length of string
* @exception SAXException thrown on error
*/
public void characters(char[] ch, int start, int length)
throws SAXException
{
accumulated.append(XMLData.escapeString(new String(ch,start,length)));
}
All of this string manipulation seems very innefficient..I guess the lesson
of the day is try to use the sax parser to parse your xml...
Ben
_______________________________________________
jdev mailing list
[EMAIL PROTECTED]
http://mailman.jabber.org/listinfo/jdev