Problem bei XML Importer und dessen "Rückgabewert"

  • Problem bei XML Importer und dessen "Rückgabewert"

    Ich will einen XML Importer in Java schreiben, der ein XML File einliest (das aus einem XML Exporter stammt, mit Java schon geschrieben wurde und aus einem Hauptprogramm die Attribute speichert die der Benutzer auswählt) und dann dort die Werte dem XML Code entsprechend weiter verwenden kann.

    Ich habe schon ein Programm geschrieben, nur das Problem, dass er nicht nur den Wert der zwischen den XML Tags gespeichert ist ausgibt, sondern auch auch welcher Typ es ist, was aber für meinen Zweck total unnötig ist und ich deswegen nicht brauchen kann.

    Quellcode

    1. import java.io.*;
    2. import org.xml.sax.*;
    3. import org.w3c.dom.*;
    4. import javax.xml.parsers.*;
    5. public class XmlImporter
    6. {
    7. public static void main(String[] argv)
    8. {
    9. try
    10. {
    11. // XML File einlesen
    12. DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    13. DocumentBuilder builder = factory.newDocumentBuilder();
    14. Document document = builder.parse( new File( "ausgabe.xml") );
    15. // Knotenliste lesen um Elementen Tagnamen zu geben
    16. NodeList ndList = document.getElementsByTagName("Intensitaet"); // argv [0] wenn man es über Eingabe macht
    17. printNodesFromList( ndList ); //
    18. }
    19. //Fehlerbehandlung
    20. catch( SAXParseException spe )
    21. {
    22. System.out.println( "\n** Parsing error, line " + spe.getLineNumber()
    23. + ", uri " + spe.getSystemId() );
    24. System.out.println( " " + spe.getMessage() );
    25. Exception e = ( spe.getException() != null ) ? spe.getException() : spe;
    26. e.printStackTrace();
    27. }
    28. catch( SAXException sxe )
    29. {
    30. Exception e = ( sxe.getException() != null ) ? sxe.getException() : sxe;
    31. e.printStackTrace();
    32. }
    33. catch( ParserConfigurationException pce )
    34. {
    35. pce.printStackTrace();
    36. }
    37. catch( IOException ioe )
    38. {
    39. ioe.printStackTrace();
    40. }
    41. }
    42. // Hilfsmethoden
    43. private static void printObjIfVisible( String sValName, Object obj )
    44. {
    45. if( null == obj )
    46. return;
    47. String s = obj.toString();
    48. if( null != s && 0 < s.trim().length() && !s.trim().equals( "\n" ) )
    49. System.out.println( sValName + s );
    50. }
    51. public static void printNodeInfos( String sNodeName, Node node )
    52. {
    53. if( null != node )
    54. {
    55. if( node.hasChildNodes() )
    56. {
    57. printObjIfVisible( "", node.getFirstChild() );
    58. }
    59. }
    60. }
    61. public static void printNodesFromList( NodeList ndList )
    62. {
    63. for( int i=0; i<ndList.getLength(); i++ )
    64. printNodeInfos( "ndList.item("+i+")", ndList.item(i) );
    65. }
    66. }
    Alles anzeigen

    Er gibt mir dann wenn ich folgende XML Datei habe

    Quellcode

    1. <GUI>
    2. <RTP_Optionen>
    3. <Empfaenger_IP>127.0.0.1</Empfaenger_IP>
    4. <Port_Nummer>2405</Port_Nummer>
    5. </RTP_Optionen>
    6. <Effekt>
    7. <Beginn>0</Beginn>
    8. <Dauer>0</Dauer>
    9. <Lautstaerke>50</Lautstaerke>
    10. <Intensitaet>50</Intensitaet>
    11. </Effekt>
    12. </GUI>
    Alles anzeigen


    [#text: 50] aus, wobei ich gerne hätte, dass er mir nur 50 zurück gibt, damit man dann mit dem Wert weiterarbeiten kann. Wie müsste ich das machen, damit das so geht?