04. maj 2005 - 20:53Der er
20 kommentarer og 1 løsning
Bestemme type af en attribut i et DOM tree
Jeg ønsker at vide hvilken type min node (n i nedenstående er) - om det er en String, int eller hvad det nu må være. Er dette overhovedet muligt ? Jeg skal ikke lave noget med DTD. Jeg skal bruge typen af noden så jeg kan hive værdien ud og gemme den korrekt i en database.
Min kode:
//Get the DOM tree as a Document object parser.parse(new InputSource(new StringBufferInputStream(returnXMLString))); Document doc = parser.getDocument();
// Get node to start iterating with Element root = doc.getDocumentElement(); NodeList defectElements = root.getElementsByTagName("defect"); Element defect = (Element)defectElements.item(0); System.out.println("yuppie - " + defectElements.getLength());
//Get a NodeIterator NodeIterator i = ((DocumentTraversal)doc).createNodeIterator(defect, NodeFilter.SHOW_ALL, null, true); Node n, attrib; NamedNodeMap a;
//Do the iteration as long as there a any elements while ((n = i.nextNode( )) != null) { if (n.getNodeType( ) == Node.ELEMENT_NODE) { System.out.println("Encountered Element: '" + n.getNodeName() + "'"); } else if (n.getNodeType( ) == Node.TEXT_NODE) { System.out.println("Encountered Text: '" + n.getNodeValue() + "'");
try{ test = dinNode; //hvis det er et tal vil den køre koden her }catch(Exception ac) { // hvis ikke det var et tal må det være tekst. og så køres kode her. }
ahh ja det jo ikke sikkert man kan.. den brokker sig nok over hvad man prøver at gemme i test.. den forventer tal.
men har prøvet det før hvor jeg ville finde ud af om det var tal jeg eller tekst man indtastede.. og så parsede jeg lige det som skulle gemmes til tekst med Integer klassens parse metode.
java.lang.NullPointerException Element: 'defect' Element: 'defectID' at ambiinfo.soap.client.SoapClient.getTodoListFromServer(SoapClient.java:95) at TestClient.main(TestClient.java:21)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.