3 import java.io.FileNotFoundException;
4 import java.io.IOException;
5 import java.io.InputStream;
6 import java.util.ArrayList;
8 import javax.xml.bind.JAXBException;
9 import javax.xml.parsers.DocumentBuilder;
10 import javax.xml.parsers.DocumentBuilderFactory;
11 import javax.xml.parsers.ParserConfigurationException;
12 import javax.xml.xpath.XPath;
13 import javax.xml.xpath.XPathConstants;
14 import javax.xml.xpath.XPathExpressionException;
15 import javax.xml.xpath.XPathFactory;
17 import org.w3c.dom.Document;
18 import org.w3c.dom.Node;
19 import org.w3c.dom.NodeList;
20 import org.xml.sax.SAXException;
22 import okw.exceptions.OKWMessageNotFoundException;
27 private Document myXMLDocument;
28 private DocumentBuilderFactory mydbFactory;
29 private DocumentBuilder mydBuilder;
30 private XPath myXPath;
32 private String myXMLFile;
34 public String getXMLFile()
36 return myXMLFile.toString();
40 public OKW_XmlReader(String fpsXMLFile)
throws JAXBException, ParserConfigurationException, SAXException, IOException
43 myXMLFile = fpsXMLFile;
60 private void Init() throws JAXBException, ParserConfigurationException, SAXException, IOException
62 InputStream is =
OKW_XmlReader.class.getResourceAsStream( myXMLFile.toString() );
67 "============================================================================================================");
68 System.out.println(
"OKW Exception: File not found! -> '" + myXMLFile.toString() +
"'");
70 "============================================================================================================");
72 throw new FileNotFoundException(
"File not found! The File was: '" + this.myXMLFile.toString() +
"'");
76 this.mydbFactory = DocumentBuilderFactory.newInstance();
77 this.mydBuilder = mydbFactory.newDocumentBuilder();
78 this.myXMLDocument = mydBuilder.parse(is);
79 this.myXPath = XPathFactory.newInstance().newXPath();
105 String lvsReturn =
"Message Not Found!";
110 NodeList myNodeList = (NodeList) myXPath.compile(fpsXPathExpression).evaluate(this.myXMLDocument,
111 XPathConstants.NODESET);
114 if (myNodeList.getLength() == 1)
116 Node myNode = myNodeList.item(0);
117 lvsReturn = myNode.getTextContent();
119 else if (myNodeList.getLength() < 1)
129 catch (XPathExpressionException e)
167 ArrayList<String> lvALReturn =
new ArrayList<String>();
172 NodeList myNodeList = (NodeList) myXPath.compile(fpsXPathExpression).evaluate(this.myXMLDocument,
173 XPathConstants.NODESET);
175 int lviCount = myNodeList.getLength();
179 for(
int i = 0; i < lviCount; i++ )
181 Node myNode = myNodeList.item(i);
182 lvALReturn.add( myNode.getTextContent() );