I have xml documents that look like this:\[code\]<?xml version="1.0"?><root> <success>true</success> <note> <note_id>32219</note_id> <the_date>1336763490</the_date> <member_id>108649</member_id> <area>6</area> <note>Note 123123123</note> </note> <note> <note_id>33734</note_id> <the_date>1339003652</the_date> <member_id>108649</member_id> <area>1</area> <note>This is another note.</note> </note> <note> <note_id>49617</note_id> <the_date>1343050791</the_date> <member_id>108649</member_id> <area>1</area> <note>this is a 3rd note.</note> </note></root>\[/code\]I would like to take that document, and get all of the \[code\]<note>\[/code\] tags and convert them to a string, then pass them to my XML class and place the XML class into an array list. I hope that makes sense. So Here is the method that I am trying to use to get all of the \[code\]<note>\[/code\] tags.\[code\]public ArrayList<XML> getNodes(String root, String name){ ArrayList<XML> elList = new ArrayList<>(); NodeList nodes = doc.getElementsByTagName(root); for(int i = 0; i < nodes.getLength(); i++){ Element element = (Element)nodes.item(i); NodeList nl = element.getElementsByTagName(name); for(int c = 0; c < nl.getLength(); c++){ Element e = (Element)nl.item(c); String xmlStr = this.nodeToString(e); XML xml = new XML(); xml.parse(xmlStr); elList.add(xml); } } return elList;}private String nodeToString(Node node){ StringWriter sw = new StringWriter(); try{ Transformer t = TransformerFactory.newInstance().newTransformer(); t.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); t.transform(new DOMSource(node), new StreamResult(sw)); }catch(TransformerException te){ System.out.println("nodeToString Transformer Exception"); } return sw.toString();}\[/code\]So, my question is, how can I get each \[code\]<note>\[/code\] tag as a string? With the code I have now all I get back is \[code\]null\[/code\] for \[code\]String xmlStr = e.getNodeValue();\[/code\].Edit
I edited my main code, this seems to work.
I edited my main code, this seems to work.