<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">


<META content="MSHTML 5.00.3211.1700" name=GENERATOR></HEAD>
<BODY>
<DIV>
<DIV><FONT color=#0000ff face=Arial size=2><SPAN class=941065716-04062001><SPAN 
class=412310117-04062001>Kris,</SPAN></SPAN></FONT></DIV>
<DIV><SPAN class=941065716-04062001></SPAN>&nbsp;</DIV>
<DIV><FONT color=#0000ff face=Arial size=2><SPAN class=941065716-04062001>To 
create a Document from a String, do something like this:</SPAN></FONT></DIV>
<DIV><SPAN class=941065716-04062001></SPAN><FONT color=#0000ff face=Arial 
size=2>&nbsp;</FONT></DIV>
<DIV><FONT color=#0000ff face=Arial size=2><SPAN 
class=941065716-04062001>&nbsp;SAXBuilder builder = new 
SAXBuilder();&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;try 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Document doc = builder.build(new 
StringReader(xmlString));<BR>&nbsp;&nbsp;&nbsp;}catch(JDOMException je) 
{}</SPAN></FONT></DIV>
<DIV><SPAN class=941065716-04062001></SPAN><FONT color=#0000ff face=Arial 
size=2>&nbsp;</FONT></DIV>
<DIV><FONT color=#0000ff face=Arial size=2><SPAN class=941065716-04062001>Note 
that a StringReader is used.</SPAN></FONT></DIV>
<DIV><FONT color=#0000ff face=Arial size=2><SPAN class=941065716-04062001>Sonya 
Pettit</SPAN></FONT></DIV></DIV>
<BLOCKQUOTE>
  <DIV align=left class=OutlookMessageHeader dir=ltr><FONT face=Tahoma 
  size=2>-----Original Message-----<BR><B>From:</B> krishna muthyala 
  [mailto:muthyalakris@yahoo.com]<BR><B>Sent:</B> Monday, June 04, 2001 12:11 
  PM<BR><B>To:</B> jdom-interest@jdom.org<BR><B>Subject:</B> [jdom-interest] 
  help please GURUS.. !!!<BR><BR></DIV></FONT>
  <P>Hi</P>
  <P>I request some help, the following is the task</P>
  <P>I have an application which spits out xml as a string<BR>something like 
  this</P>
  <P>"xml=&lt;?xml version="1.0" 
  encoding="UTF-8"?&gt;<BR>&lt;session&gt;<BR>&nbsp; &lt;!--Session Element 
  --&gt;<BR>&nbsp; &lt;resource&gt;Session&lt;/resource&gt;<BR>&nbsp; 
  &lt;useridElement&gt;kris&lt;/useridElement&gt;<BR>&nbsp; 
  &lt;passwordElement&gt;kris&lt;/passwordElement&gt;<BR>&nbsp; 
  &lt;/session&gt;"</P>
  <P>the code for writing xml is as follows</P>
  <P><STRONG>public static String createDocument() <BR>&nbsp;&nbsp;&nbsp; 
  {<BR>&nbsp;&nbsp;&nbsp; String xmlString="";<BR>&nbsp;&nbsp;&nbsp; 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create the root 
  element<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element sessionElement = 
  new Element("session");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //create 
  the document<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Document myDocument = new 
  Document 
  (sessionElement);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //add a 
  comment<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  sessionElement.addContent(new Comment("Session Element "));</STRONG></P>
  <P><STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //add some child 
  elements<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  /*<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Note that this is the 
  first approach to adding an element 
  and<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * textual 
  content.&nbsp; The second approach is commented 
  out.<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  */<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Element resource = new 
  Element("resource");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  resource.addContent("session");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  sessionElement.addContent(resource);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //add some more 
  elements<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  sessionElement.addContent(new 
  Element("useridElement").addContent("kris"));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  sessionElement.addContent(new Element("! 
  passwordElement").addContent("kris"));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  </STRONG></P>
  <P><STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //print the 
  document</STRONG></P>
  <P><STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  XMLOutputter outputter = new XMLOutputter("&nbsp; ", 
  true);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  outputter.output(myDocument, 
  System.out);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  System.out.println("XMLOUtputter 
  created");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  //xmlString=outputter.outputString(myDocument);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  } <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (java.io.IOException e) 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  e.printStackTrace();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;! 
  ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //return 
  myDocument;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 
  xmlString;<BR>&nbsp;&nbsp;&nbsp; }</STRONG></P>
  <P><STRONG></STRONG>&nbsp;</P>
  <P>***************end method *******************</P>
  <P><BR>This string is posted to a servlet, which then does a </P>
  <P><STRONG>String value = request.getParameter("xml"); <BR>MyParser myparser = 
  new MyParser();<BR>resource = myparser.parseXML(value);</STRONG></P>
  <P>and gets the whole xml string. I want to pass this string to a class that 
  uses the JDOM API and extract the value for resource tag and do some 
  processing.</P>
  <P>My question is how is it done? , also is there a better way to set the 
  identifier in the request object from the application for the servlet to get 
  it out of the request object? </P>
  <P>I tried something like this in my parsing class</P>
  <P><STRONG>public String parseXml(String XmlStream)<BR>&nbsp; {<BR>&nbsp; 
  String resource="";<BR>&nbsp; Document doc;<BR>&nbsp;&nbsp; 
  try<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("inside 
  parseXML");<BR>&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; SAXBuilder sax = new 
  SAXBuilder();<BR>&nbsp;&nbsp;&nbsp;&nbsp; doc = 
  sax.build(XmlStream);<BR>&nbsp;&nbsp;&nbsp;&nbsp; Element root = 
  doc.getRootElement();<BR>&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp; 
  Element r = root.getChild(resource);<BR>&nbsp;&nbsp;&nbsp;&nbsp; String re = 
  r.toString();<BR>&nbsp;&nbsp;&nbsp;&nbsp; resource = 
  re;<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
  catch(JDOMException e) <BR>&nbsp;&nbsp;&nbsp;&nbsp; 
  {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  e.printStackTrace();<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; catch 
  (Exception e)<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp; 
  e.printStackTrace();<BR>&nbsp;&nbsp; System.out.println("parsing exceptio! 
  n");<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp; 
  <BR>&nbsp;&nbsp;&nbsp;&nbsp; return resource;<BR>&nbsp; }</STRONG></P>
  <P><STRONG></STRONG>&nbsp;</P>
  <P>and this throws&nbsp; the following exception</P>
  <P><FONT color=purple>********** error *******************</FONT></P>
  <P><FONT color=#800080></FONT><FONT color=purple>org.jdom.JDOMException: Error 
  on line 0: File "" not found.<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at 
  org.jdom.input.SAXBuilder.build(SAXBuilder.java:407)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.jdom.input.SAXBuilder.build(SAXBuilder.java:533)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  com.sone.util.XMLResourceTagParser.parseXml(XMLResourceTagParser.java:87)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  com.sone.util.XMLResourceTagParser.getResourceTag(XMLResourceTagParser.java:64)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  com.sone.servlets.CommandServlet.service(CommandServlet.java:101)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  javax.servlet.http.HttpServlet.service(HttpServlet.java:853)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at org.apache.tomcat.core.Handler! 
  .service(Handler.java:286)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at 
  org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:166)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at java.lang.Thread.run(Thread.java:484)<BR>Root cause: 
  org.xml.sax.SAXParseException: File "" not 
  found.<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;nbs! p;&nbsp; at 
  org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1014)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.apache.xerces.readers.DefaultEntityHandler.startReadingFromDocument(DefaultEntityHandler.java:499)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.apache.xerces.framework.XMLParser.parseSomeSetup(XMLParser.java:304)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.apache.xerces.framework.XMLParser.parse(XMLParser.java:899)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.jdom.input.SAXBuilder.build(SAXBuilder.java:395)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.jdom.input.SAXBuilder.build(SAXBuilder.java:533)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  com.sone.util.XMLResourceTagParser.parseXml(XMLResourceTagParser.java:87)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  com.sone.util.XMLResourceTagParser.getResourceTag(XMLResourceTagParser.java:64)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at com.sone.servlet! 
  s.CommandServlet.service(CommandServlet.java:101)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  javax.servlet.http.HttpServlet.service(HttpServlet.java:853)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.apache.tomcat.core.Handler.service(Handler.java:286)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:166)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at org.apache.tomcat.service.T! 
  cpWorkerThread.runIt(PoolTcpEndpoint.java:416)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at 
  org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  at java.lang.Thread.run(Thread.java:484)</FONT></P>
  <P>******************* end error****************************</P>
  <P>can any of the gurus help me overcome this problem, this is very important 
  for me right now...</P>
  <P>Thanks</P>
  <P>Appreciate your time and response</P>
  <P>kris</P>
  <P>&nbsp;</P>
  <P>&nbsp;</P>
  <P>&nbsp;</P>
  <P>&nbsp;</P>
  <P>&nbsp;</P>
  <P><BR>&nbsp;</P><BR><BR>
  <P>&nbsp;</P>
  <BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
    <BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
      <BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
        <P>concern for a cleaner world, for a better tomorrow </P>
        <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A 
        href="http://www.greenpeace.org">http://www.greenpeace.org</A></P></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE>
  <P><BR>
  <HR SIZE=1>
  <B>Do You Yahoo!?</B><BR><A 
  href="http://personal.mail.yahoo.com/?.refer=mailiyfoot">Yahoo! Mail Personal 
  Address</A> - Get email at your own domain with Yahoo! 
Mail.</BLOCKQUOTE></BODY></HTML>