[jdom-interest] Re: jdom 1.0 XMLOutputter -- problems
Frances
fdr58 at yahoo.com
Tue Apr 4 06:49:17 PDT 2006
Edelson, Justin wrote:
> Here's some basic document creation code:
> Document document = new Document();
> Element rootElement = new Element("root");
> document.setRootElement(rootElement);
> Element childElement = new Element("child");
> rootElement.addContent(childElement);
> childElement.setText("some text");
>
> Same code all on one line:
> Document doc2 = new Document().setRootElement(new
> Element("root").addContent(new Element("child").setText("some text")));
>
> As for your other issues, these really don't have anything to do with
> jdom. I suggest you read up on the importance of the classpath to figure
> out why your are getting a ClassNotFoundException. Comparing
> command-line Java with Tomcat isn't really a valid comparison as Tomcat
> is a container that uses custom classloaders based on a directory
> structure.
>
> As for your FileNotFoundException, any reason to think this isn't just
> because this file doesn't exist?
not sure, the code creates the file here..
Document doc = builder.build(new File(filename));
as for the code you posted, something interesting is happening: I can
get it to compile in Tomcat, but not outside Tomcat (just did a
stand-alone with the code you posted, that's it.. in both cases have
the class w/your code (doXML.java) and all the jars that came w/jdom
download in same directory, and compile thus:
javac -classpath
jaxen-core.jar;jaxen-jdom.jar;jdom.jar;saxpath.jar;xalan.jar;xerces.jar;xml-apis.jar;.
works inside Tomcat, but not outside Tomcat.. why would this be..
thank you very much for your help.. Frances
>
> Justin
>
> -----Original Message-----
> From: jdom-interest-bounces at jdom.org
> [mailto:jdom-interest-bounces at jdom.org] On Behalf Of Frances
> Sent: Monday, April 03, 2006 4:52 PM
> To: jdom-interest at jdom.org
> Subject: [jdom-interest] Re: jdom 1.0 XMLOutputter -- problems
>
> Bradley S. Huffman wrote:
>
>>>Exception in thread "main" java.lang.NoClassDefFoundError:
>>>org/jdom/input/SAXBuilder..
>>>
>>>I downloaded jdom this weekend, put jdom.jar and all other jars that
>>>come with the download in the classpath... but get many errors when
>>>trying to compile stuff (deprecated methods (like addAttribute(),
>>>which I change to setAttribute() but still get errors.. errors that
>>>SAXBuilder and XMLOutputter can't be found.. I looked in jar, I looked
>
>
>>>in docs, these classes are there..) what is the problem pls, thank
>
> you...
>
>>
>>addAttribute? Sounds like there's a very old jar in your classpath.
>>Did you download from http://www.jdom.org/dist/binary either
>>jdom-1.0.tar.gz or jdom-1.0.zip, and are you sure it's in your
>
> classpath?
>
>>Brad
>>_______________________________________________
>>To control your jdom-interest membership:
>>http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.co
>>m
>>
>
> yes and yes....
>
> downloaded just this weekend, downloaded jdom-1.0.zip...
>
> ok, look at this small example, from
> http://www.javaworld.com/javaworld/jw-05-2000/jw-0518-jdom-p2.html
>
> import java.io.*;
> import org.jdom.*;
> import org.jdom.input.SAXBuilder;
> import org.jdom.input.*;
> import org.jdom.output.*;
>
> public class PrettyPrinter {
> public static void main(String[] args) {
> // Assume filename argument
> // String filename = args[0];
> String filename = "myFile";
>
> try {
> // Build the document with SAX and Xerces, no validation
> SAXBuilder builder = new SAXBuilder();
> // Create the document
> Document doc = builder.build(new File(filename));
>
> // Output the document, use standard formatter
> XMLOutputter fmt = new XMLOutputter();
> fmt.output(doc, System.out);
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> }
>
> this compiles fine but when run it with just this command:
>
> java PrettyPrinter
>
> get following error: Exception in thread "main"
> java.lang.NoClassDefFoundError: org/jdom/input/SAXBui lder (I don't get
> this.. if this class cannot be found how come it compiled fine? do you
> need to always indicate cp when running classes with third-party API's?
> I don't have to do this w/Tomcat..)
>
> if I run it like this: java -cp jdom.jar;. PrettyPrinter
>
> get this error:
>
> java.io.FileNotFoundException: C:\Documents and Settings\fdelrio\My
> Documents\xslt\myFile (The system cannot find the file specified)
> at java.io.FileInputStream.open(Native Method)
> at java.io.FileInputStream.<init>(Unknown Source)
> at java.io.FileInputStream.<init>(Unknown Source)
> at sun.net.www.protocol.file.FileURLConnection.connect(Unknown
> Source)
> at
> sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown So
> urce)
> at java.net.URL.openStream(Unknown Source)
> at org.apache.crimson.parser.InputEntity.init(Unknown Source)
> at org.apache.crimson.parser.Parser2.parseInternal(Unknown
> Source)
> at org.apache.crimson.parser.Parser2.parse(Unknown Source)
> at org.apache.crimson.parser.XMLReaderImpl.parse(Unknown
> Source)
> at org.jdom.input.SAXBuilder.build(SAXBuilder.java:453)
> at org.jdom.input.SAXBuilder.build(SAXBuilder.java:810)
> at org.jdom.input.SAXBuilder.build(SAXBuilder.java:789)
> at PrettyPrinter.main(PrettyPrinter.java:20)
>
>
> I would LOVE to have some code to just create a simple xml file with
> JDOM.. (still don't know if SAX or DOM is best...) 'parsing' means to
> READ an xml file, so if you're CREATING an xml file you don't need to
> parse right? sorry if these questions sound stupid, am just beginning
> to learn all this stuff.. finally know diff betw. SAX and DOM... :)
>
> thank you very much..
>
> Frances
>
>
>
>
>
>
>
> _______________________________________________
> To control your jdom-interest membership:
> http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com
>
> _______________________________________________
> To control your jdom-interest membership:
> http://www.jdom.org/mailman/options/jdom-interest/youraddr@yourhost.com
>
More information about the jdom-interest
mailing list