[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Java NPE at node.getAttribute( )
Hi: If I have the following in my xml doc, <tptd:applet xmlns tptd="http://www.oracle.com/tptd/configuration" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.oracle.com/tptd/configuration plus _config.xsd"> <transport name="jrmp"/> <transport name="codebase"/>..... ..... </tptd:applet> I want to extract the values of the "name" nodes and subsitute them as values for the "name" nodes in another xml document. I have written the following DOM Parser implementation but it gives me a Java NPE at node.getAttribute(). Can someone please let me know what I am doing wrong here -- public void doSub() throws FileNotFoundException, IOException, XSLException, InvocationTargetException, XMLParseException, SAXException { URL in_xml_url = new URL("file://" + getSpec()); FileOutputStream out_xml = new FileOutputStream(m_outfileSpec, false); XMLDocument xmlDocument = null; //Create a parser DOMParser parser = new DOMParser(); parser.setValidationMode(XMLConstants.NONVALIDATING); parser.setBaseURL(in_xml_url); //Create a document from the url parser.parse(in_xml_url); //Cache the document from the parser xmlDocument = parser.getDocument(); XMLElement nsr = (XMLElement) xmlDocument.getDocumentElement(); //namespace resolver NodeList nodeList=xmlDocument.selectNodes("/applet/transport/@name", nsr); XMLElement node=(XMLElement)nodeList.item(0); String trans_val1 = node.getAttribute("name"); //getting Java NPE here XMLElement node1=(XMLElement)nodeList.item(1); String trans_val2 = node1.getAttribute("name"); //subsitute in the new document parser.parse(new FileReader(m_outfileSpec)); XMLDocument document1 =parser.getDocument(); XMLElement nsr_new = (XMLElement) document1.getDocumentElement(); NodeList nodeList1=document1.selectNodes("/configuration//plus/transport/@name",f); XMLElement node2=(XMLElement)nodeList1.item(0); node2.setAttribute("name",trans_val1); XMLElement node3=(XMLElement)nodeList.item(1); node3.setAttribute("name",trans_val2); document1.print(out_xml); out_xml.close(); } Thanks much.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|