At 07:02 PM 9/25/2001 +0200, Simone Badoer wrote:
>Hi.
>
>I need to obtain an Element from a String in a valid XML format, for example:
>
>Element el =xxxFunction("<TAG attr=\"abc\">\n <CHILD/>\n</TAG>");
>
> I know the inverse function, DOMWriter.nodeToString, what's the right name for
>xxxFunction?
>
>Thank you,
> Simone.
It's not exactly a SOAP question, but I'm doing such things today,
so... in JAXP, that would be
String xmlStr="<TAG attr=\'abc\'>\n <CHILD/>\n</TAG>";
javax.xml.parsers.DocumentBuilderFactory dbf=
javax.xml.parsers.DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true); // and so forth, if relevant
dbf.setValidating(false);
javax.xml.parsers.DocumentBuilder db=dbf.newDocumentBuilder();
Document doc=db.parse(
new org.xml.sax.InputSource(
new java.io.StringReader(xmlStr)));
Element el=doc.getDocumentElement();
(and rather than DOMWriter.nodeToString you might consider using
a null JAXP transformer, as in
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
transformer.transform(new DOMSource(el), new StreamResult(out));
where "out" is a java.io.Writer --- this is clipped from a jsp page;
but only if you want to maximize portability with the option of
running an XSLT stylesheet within the transformer later on...)
Now let's see if somebody posts something better. :-)
Tom Myers