KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > nu > xom > samples > ProcessingInstructionLister


1 /* Copyright 2002, 2003 Elliotte Rusty Harold
2    
3    This library is free software; you can redistribute it and/or modify
4    it under the terms of version 2.1 of the GNU Lesser General Public
5    License as published by the Free Software Foundation.
6    
7    This library is distributed in the hope that it will be useful,
8    but WITHOUT ANY WARRANTY; without even the implied warranty of
9    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10    GNU Lesser General Public License for more details.
11    
12    You should have received a copy of the GNU Lesser General Public
13    License along with this library; if not, write to the
14    Free Software Foundation, Inc., 59 Temple Place, Suite 330,
15    Boston, MA 02111-1307 USA
16    
17    You can contact Elliotte Rusty Harold by sending e-mail to
18    elharo@metalab.unc.edu. Please include the word "XOM" in the
19    subject line. The XOM home page is located at http://www.xom.nu/
20 */

21
22 package nu.xom.samples;
23
24 import java.io.IOException JavaDoc;
25
26 import nu.xom.Builder;
27 import nu.xom.Document;
28 import nu.xom.Node;
29 import nu.xom.ParsingException;
30 import nu.xom.ProcessingInstruction;
31
32
33 /**
34  * <p>
35  * Demonstrates recursive descent through an XML document,
36  * and the <code>ProcessingInstruction</code> class.
37  * </p>
38  *
39  * @author Elliotte Rusty Harold
40  * @version 1.0
41  *
42  */

43 public class ProcessingInstructionLister {
44
45     public static void list(Node node) {
46         
47         for (int i = 0; i < node.getChildCount(); i++) {
48             Node child = node.getChild(i);
49             if (child instanceof ProcessingInstruction) {
50                 System.out.println(child.toXML());
51             }
52             else {
53                 list(child);
54             }
55         }
56         
57     }
58
59     public static void main(String JavaDoc[] args) {
60   
61         if (args.length <= 0) {
62           System.out.println(
63            "Usage: java nu.xom.samples.ProcessingInstructionLister URL"
64           );
65           return;
66         }
67         
68         try {
69           Builder parser = new Builder();
70           Document doc = parser.build(args[0]);
71           list(doc);
72         }
73         catch (ParsingException ex) {
74           System.out.println(args[0] + " is not well-formed.");
75           System.out.println(ex.getMessage());
76         }
77         catch (IOException JavaDoc ex) {
78           System.out.println(
79            "Due to an IOException, the parser could not check "
80            + args[0]
81           );
82         }
83   
84     }
85
86 }
Popular Tags