Announcement

Collapse
No announcement yet.

Auslesen von *.txt in vorhande XML Datei

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Ja, gibt es

    [highlight=java]
    Document document=parseXmlFile(unformattedXml);
    OutputFormat format=new OutputFormat(document);
    format.setLineWidth(65);
    format.setIndenting(true);
    format.setIndent(2);
    Writer out=new StringWriter();
    XMLSerializer serializer=new XMLSerializer(out,format);
    serializer.serialize(document);
    String formatiertes_XML=out.toString(); [/highlight]
    Christian

    Comment


    • #17
      guten morgen christian,
      möchte dir nochmal danken! klappt sehr gut. eine frage hab ich allerdings noch.
      wenn jetzt in der textdatei mehrere einträge sind müssen auch mehrere knoten geschrieben werden. ich hab das im moment so gemacht, dass eine methode aufgerufen wird solange in der arraylist noch einträge sind.
      jetzt ist mein problem, dass immer nur der letzte knoten hinzugefügt wird, obwohl ich erst, wenn die arraylist abgearbeitet ist die xml schreiben lasse. kann mir nicht wirklich erklären woran das liegt.

      viele grüße
      max

      Comment


      • #18
        Musst du mal Quelltext -formatiert- posten. Vermutlich wirst du in der Schleife das Document immer neu laden.
        Christian

        Comment


        • #19
          hey christian,
          hab den Fehler gefunden danke! jetzt läuft alles soweit, eine sache sit mir noch aufgefallen, wenn ich die neue xml mit einem editor wie ultraedit öffne ist alles richtig formatiert,
          wenn ich sie aber in notepad öffne, ist alles durcheinander, also alles in eine reihe mit komischen sonderzeichen, bzw rechtecke dazwischen. woran kann das liegen?
          grüße
          max

          Comment


          • #20
            Zeilenumbrüche Linix / Windows
            Christian

            Comment


            • #21
              befindet sich eigentlich alles auf einem windows system, oder wie meinst du das? was kann man da gegen tun?

              Comment


              • #22
                http://dom4j.sourceforge.net/dom4j-1...putFormat.html
                Die Mittel dieser Klasse zur Gestaltung nutzen ->setLineSeparator
                Christian

                Comment


                • #23
                  hmmm, habs jetzt den halben tag probiert, aber komme damit irgendwie nicht klar. habe ja vorher den serializer benutzt, würde der nun wegfallen?
                  habe nun probiert mir da was zusammen zu basteln, aber das funktionier leider nicht -.-

                  Code:
                  		OutputFormat format = OutputFormat.createPrettyPrint();
                  		Writer out = new StringWriter();
                  		XMLWriter writer = new XMLWriter(out, format);
                  		writer.write(dProperties);
                  		FileWriter ausgabestrom = new FileWriter("D:\\KLV\\jre6\\bin\\Config\\properties.xml");
                  		BufferedWriter output = new BufferedWriter(ausgabestrom);
                  		output.write(out.toString());
                  		output.flush();
                  		output.close();
                  vllt kannst du mir ja nocheinmal unter die arme greifen, gruß max
                  btw: wie kann ich java code hier formatiert posten?

                  Comment


                  • #24
                    In Beitrag #16 wird das angewandt
                    Christian

                    Comment


                    • #25
                      ah danke.
                      [highlight=java]
                      FileOutputStream fos = new FileOutputStream("D:\\properties.xml");
                      OutputFormat format = OutputFormat.createPrettyPrint();
                      XMLWriter writer = new XMLWriter (fos, format);
                      writer.write(dProperties);
                      writer.flush();[/highlight]
                      das bringt mich leider auch nicht weiter

                      Comment


                      • #26
                        Ich weiss nicht was du willst. In Beitrag #16 ist ganz deutlich zu sehen, wie das Ausgabeformat angepasst werden kann. Was dein Code mit der Speicherung damit zu tun hat erschließt sich nicht


                        <pre>
                        Document
                        document=parseXmlFile(unformattedXml);
                        OutputFormat format=new OutputFormat(document);
                        f
                        ormat.setLineWidth(65);
                        format.setIndenting(true);
                        format.setIndent(2);

                        Writer
                        out=new StringWriter();
                        XMLSerializer serializer=new XMLSerializer(out,format);
                        serializer.serialize(document); String formatiertes_XML=out.toString();
                        </pre>

                        An dieser Stelle kann du dein Format einstellen wie du es für richtig hälst
                        Zuletzt editiert von Christian Marquardt; 21.05.2013, 15:25.
                        Christian

                        Comment


                        • #27
                          entschuldigung, wenn ich es nicht richtig erklärt habe, dass habe ich auch so benutzt! und in einem texteditor wie z.b. ultraedit sieht es auch okay aus. da die jar aber auf einem server läuft wo nur notepad vorhanden ist, ist es ein einziges gewusel von xml-tags mit diesen rechteckigen sonderzeichen. darauf hin meintest du ich soll es mit prettyprint probieren. da happert es aber jetzt bei mir, da ich mich mit der dom4j sache noch weniger auskenne.

                          viele grüße
                          max

                          Comment


                          • #28
                            Und warum ergänzt du dann obigen Teil nicht mit

                            setLineSeparator

                            ????
                            Christian

                            Comment


                            • #29
                              oh gott, ich idiot. ich dachte setLineSeperator wäre nur Bestandteil in dom4j und nicht im "normalen" OutputFormat... Tut mir Leid für diese Blödheit.
                              na gut, jetzt weiß ich was du meinst! ganz großes entschuldigung für die strapazierung deiner nerven...

                              gruß
                              max

                              Comment


                              • #30
                                Unter Windows ist ein Zeilenumbruch \r\n
                                Christian

                                Comment

                                Working...
                                X