T
Timo Nentwig
Hi!
I hacked a tiny XMLFilter in order to filter <script> elements. But it
throws the following exception (on certain input documents, not all and,
alas, I were not able to locate the problem):
org.dom4j.DocumentException: The node "org.dom4j.tree.DefaultElement@18e3e60
[Element: <HTML attributes: []/>]" could not be added to the branch "null"
because: Cannot add another element to this Document as it already has a
root element of: HTML Nested exception: The node
"org.dom4j.tree.DefaultElement@18e3e60 [Element: <HTML attributes: []/>]"
could not be added to the branch "null" because: Cannot add another element
to this Document as it already has a root element of: HTML
public class XmlFilter extends XMLFilterImpl
{
private final String name = "script";
private boolean remove = false;
public XmlFilter()
{
super();
}
public void startElement(String namespaceUri, String localName, String
qualifiedName, Attributes attributes) throws SAXException
{
if (remove = remove || localName.equalsIgnoreCase(name)) return;
super.startElement(namespaceUri, localName, qualifiedName, attributes);
}
public void characters(char[] ch, int start, int length) throws
SAXException
{
if (remove) return;
super.characters(ch, start, length);
}
public void endElement(String uri, String localName, String qName) throws
SAXException
{
if (remove = localName.equalsIgnoreCase(name)) return;
super.endElement(uri, localName, qName);
}
}
Can somebody help?
TIA
TImo
I hacked a tiny XMLFilter in order to filter <script> elements. But it
throws the following exception (on certain input documents, not all and,
alas, I were not able to locate the problem):
org.dom4j.DocumentException: The node "org.dom4j.tree.DefaultElement@18e3e60
[Element: <HTML attributes: []/>]" could not be added to the branch "null"
because: Cannot add another element to this Document as it already has a
root element of: HTML Nested exception: The node
"org.dom4j.tree.DefaultElement@18e3e60 [Element: <HTML attributes: []/>]"
could not be added to the branch "null" because: Cannot add another element
to this Document as it already has a root element of: HTML
public class XmlFilter extends XMLFilterImpl
{
private final String name = "script";
private boolean remove = false;
public XmlFilter()
{
super();
}
public void startElement(String namespaceUri, String localName, String
qualifiedName, Attributes attributes) throws SAXException
{
if (remove = remove || localName.equalsIgnoreCase(name)) return;
super.startElement(namespaceUri, localName, qualifiedName, attributes);
}
public void characters(char[] ch, int start, int length) throws
SAXException
{
if (remove) return;
super.characters(ch, start, length);
}
public void endElement(String uri, String localName, String qName) throws
SAXException
{
if (remove = localName.equalsIgnoreCase(name)) return;
super.endElement(uri, localName, qName);
}
}
Can somebody help?
TIA
TImo