KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > dom > DOMSubDocument


1 package dom;
2
3 import org.w3c.dom.Element JavaDoc;
4 import org.w3c.dom.Node JavaDoc;
5 import org.w3c.dom.NodeList JavaDoc;
6 import java.util.Vector JavaDoc;
7
8 public class DOMSubDocument {
9
10   protected Node JavaDoc oNode;
11
12   // ----------------------------------------------------------
13

14   private DOMSubDocument() { }
15
16   // ----------------------------------------------------------
17

18   public DOMSubDocument(Node JavaDoc oRefNode) {
19     oNode = oRefNode;
20   }
21
22   // ----------------------------------------------------------
23

24   public Node JavaDoc getNode() {
25     return oNode;
26   }
27
28   // ----------------------------------------------------------
29

30   public Node JavaDoc getNode(String JavaDoc sNodeName) {
31     Node JavaDoc oCurrentNode = null;
32
33     for (oCurrentNode=oNode.getFirstChild(); oCurrentNode!=null; oCurrentNode=oCurrentNode.getNextSibling())
34       if (Node.ELEMENT_NODE==oCurrentNode.getNodeType())
35         if (sNodeName.equals(oCurrentNode.getNodeName())) break;
36
37     if (oCurrentNode!=null)
38       return oCurrentNode;
39     else
40       return null;
41   }
42
43   // ----------------------------------------------------------
44

45   public String JavaDoc getElement(String JavaDoc sElementName) {
46     Node JavaDoc oCurrentNode = null;
47     Node JavaDoc oFirstChild;
48
49     for (oCurrentNode=oNode.getFirstChild(); oCurrentNode!=null; oCurrentNode=oCurrentNode.getNextSibling())
50       if (Node.ELEMENT_NODE==oCurrentNode.getNodeType())
51         if (sElementName.equals(oCurrentNode.getNodeName())) break;
52
53     if (oCurrentNode!=null) {
54       oFirstChild = oCurrentNode.getFirstChild();
55
56       if (oFirstChild!=null)
57         return oFirstChild.getNodeValue();
58       else
59         return null;
60     }
61     else
62       return null;
63   } // getElement()
64

65   // ----------------------------------------------------------
66

67   public Vector JavaDoc getElements(String JavaDoc sElementName) {
68     Node JavaDoc oCurrentNode = null;
69     Vector JavaDoc oVector = new Vector JavaDoc();
70
71     for (oCurrentNode=oNode.getFirstChild(); oCurrentNode!=null; oCurrentNode=oCurrentNode.getNextSibling())
72       if (Node.ELEMENT_NODE==oCurrentNode.getNodeType())
73         if (sElementName.equals(oCurrentNode.getNodeName()))
74           oVector.addElement(oCurrentNode);
75     if (oVector.size()>0)
76       return oVector;
77     else
78       return null;
79   } // getElement()
80

81 }
Popular Tags