Habe xml Datei wo Endtag fehlt.

Status
Nicht offen für weitere Antworten.
J

James_Dean

Gast
Meine generierte XML DAtei sieht folgendermaßen aus:

<?xml version="1.0" encoding="iso-8859-1"?>
<START>
<V_ART>;Text Text Test;</V_ART>
<V_D>;Datum: 26.09.05;</V_D>
<V_Z>;Zeit: 12:17:36;</V_Z>
<V_SPALTEN>;Zeit;Kraft;Pressung;Weg;Dehnung;</V_SPALTEN>
<V_EINHEITEN>;;[kN];[N/mm**2];[mm];[mm];</V_EINHEITEN>
<PD>; 0.02; -0.03; -0.00; -0.00; 27.99;</PD>
<PD>; 0.04; -0.02; -0.00; -0.01; 27.99;</PD>
<PD>; 0.06; 0.00; 0.00; -0.01; 0.00;</PD>
<PD>; 0.01; -0.01; -0.00; -0.01; 0.00;</PD>

nun fehlt mir am ende der datei der enttag </START>

Wie kann ich den mittels java anhängen ?

mfg
 

JamesDean

Mitglied
Schönen guten morgen...

wenn ich zum beispiel folgende datei habe:

<?xml version="1.0" encoding="iso-8859-1"?>
<V_ART>;Trelleborg-Zulassung;</V_ART>
<V_D>;Datum: 26.09.05;</V_D>
<V_Z>;Zeit: 12:17:36;</V_Z>
<V_SPALTEN>;Zeit;Kraft;Pressung;Weg;Dehnung;</SPALTEN>
<V_EINHEITEN>;;[kN];[N/mm**2];[mm];[mm];</V_EINHEITEN>
<PD>; 0.02; -0.03; -0.00; -0.00; 27.99;</PD>
<PD>; 0.04; -0.02; -0.00; -0.01; 27.99;</PD>
<PD>; 0.06; 0.00; 0.00; -0.01; 0.00;</PD>
<PD>; 0.01; -0.01; -0.00; -0.01; 0.00;</PD>
<PD>; 0.51; 0.01; 0.00; 0.31; 0.33;</PD>
<PD>; 1.01; 0.01; 0.00; 0.80; 0.82;</PD>
<PD>; 1.51; 0.02; 0.00; 1.30; 1.32;</PD>
<PD>; 2.01; 0.03; 0.00; 1.80; 1.82;</PD>

fehlt mir das roottag :-(

nun meine frage wie bekomme ich das root tag in die datei damit ich sie mit java parsen kann ?
habe leider keine ander möglichkeit mir die xml datei erstellen zu lassen

wenn ihr mir mit etwas code weiterhelfen könntet....

mfg und besten dank
 

byte

Top Contributor
genauso wie du das endtag hinzufügen kannst: datei einlesen, in zeile zwei root starttag einfügen, am ende root endtag einfügen, fertig. das machst du zum beispiel durch zeilenweises einlesen und rausschreiben in eine neue datei:

Code:
BufferedReader in = new BufferedReader(new FileReader("input.xml"));
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("output.xml")));
 

Bleiglanz

Gesperrter Benutzer
habe leider keine ander möglichkeit mir die xml datei erstellen zu lassen
Schade, denn das steht im vollkommenen Gegensatz zur Philosophie von XML: die Datei ist eben KEIN XML-Dokument, deshalb kannst/sollst du sie auch nicht mit einem XML-Parser bearbeiten...

von daher dürfte der Prolog <?xml gar nicht drin sein, der oder die Erzeuger dieser Datei sind also völlig gaga

Code:
<V_SPALTEN>;Zeit;Kraft;Pressung;Weg;Dehnung;</SPALTEN>
steht das wirklich so drin? das wird schwierig...
 

JamesDean

Mitglied
also vielleich erklär ich mal mein problem im möchte die datei durchlaufen und bestimmte informationen herausholen.

die datei kann so aussehen, das kann ich an der maschine einstellen:

<V_ART>;Text Text Test;</V_ART>
<V_D>;Datum: 26.09.05;</V_D>
<V_Z>;Zeit: 12:17:36;</V_Z>
<V_SPALTEN>;Zeit;Kraft;Pressung;Weg;Dehnung;</V_SPALTEN>
<V_EINHEITEN>;;[kN];[N/mm**2];[mm];[mm];</V_EINHEITEN>
<PD>; 0.02; -0.03; -0.00; -0.00; 27.99;</PD>
<PD>; 0.04; -0.02; -0.00; -0.01; 27.99;</PD>
<PD>; 0.06; 0.00; 0.00; -0.01; 0.00;</PD>
<PD>; 0.01; -0.01; -0.00; -0.01; 0.00;</PD>
<PD>; 0.51; 0.01; 0.00; 0.31; 0.33;</PD>
<PD>; 1.01; 0.01; 0.00; 0.80; 0.82;</PD>
<PD>; 1.51; 0.02; 0.00; 1.30; 1.32;</PD>

ich dachte nur ich packe es in solche tags wegen des auslesens.
ich kann die tags auch weglassen und andere schlüsselwörter einfügen...

nur habe ich vermutet das ich wenn ich xml habe, ich einen eigen parser nicht zu schreiben brauche...
nun bekomme ich aber an der maschine kein ganz korektes xml file hin (kopf fehlt und root tag)...
vielleicht doch besser mit eigenem parser zu arbeiten und nach schlüsselwörtern zu suchen.
das habe ich noch nie gemacht....

<V_ART>;Text Text Test;
<V_D>;Datum: 26.09.05;
<V_Z>;Zeit: 12:17:36;
<V_SPALTEN>;Zeit;Kraft;Pressung;Weg;Dehnung;
<V_EINHEITEN>;;[kN];[N/mm**2];[mm];[mm];
<PD>; 0.02; -0.03; -0.00; -0.00; 27.99;
<PD>; 0.04; -0.02; -0.00; -0.01; 27.99;
<PD>; 0.06; 0.00; 0.00; -0.01; 0.00;
<PD>; 0.01; -0.01; -0.00; -0.01; 0.00;
<PD>; 0.51; 0.01; 0.00; 0.31; 0.33;
<PD>; 1.01; 0.01; 0.00; 0.80; 0.82;

vielleicht hat einer ne idee oder nen link wo das mit dem parsen erklärt ist...
 

byte

Top Contributor
du kannst die datei wie schon x-mal gesagt, einfach zeilenweise einlesen. dann prüfst du bei jeder zeile (z.b. mit regex oder mit etwaigen string-methoden wie contains, indexOf), welche daten vorliegen und ziehst dir dann die für dich relevanten daten aus dem string raus (z.b. mit methode substring aus String) und verarbeitest sie. es macht doch keinen sinn, aus einer datei zu versuchen eine xml datei zu machen, die offensichtlich keine ist.

hier ein kleiner ansatz:

Code:
BufferedReader in = new BufferedReader(new FileReader("yourFile.txt"));
String line;
while((line=in.readLine())!=null) {
   //do something with line
}
in.close();
 

TRunKX

Bekanntes Mitglied
Ich hätte da sogar was *g* falls du so gar nicht weiterkommst ich habe was mit XML gemacht was komplett ohne den DOM abläuft halt reines selberbauen der XML Dateien ist ne nette Methode mit vielen Möglichkeiten.

Code:
 /**
   * Diese Methode macht aus einer gegebenen XML Datei und werten aus einer
   * Hastabelle sowie einer Knotenpunktüberschrifft eine große XML in der die
   * neuen Werte unter dem übergebenen Knotenpunkt gesammelt sind!
   *
   * @param file1 Absoluter Pfad der XML in der am Ende alle Daten liegen
   *        sollen
   * @param table1 Die Hashtable mit den Informationen die in den neuen
   *        Knotenpunkt sollen
   * @param knotenname Der Name des neun Knotens unter dem die Infos der Hashtable
   *        gespeichert werden sollte dieser null sein so wird kein neuer Knoten
   * 				erzeugt sondern die Daten so geschrieben.
   * @param position Sagt !!! vor!!! also wenn es zu Tarifdaten soll z.B. dann gehört hier
   * 				</Tarifdaten> hin nicht <Tarifdaten> welchem String die in der Hash 
   *        Table enthaltenen
   *        Werte eingefügt werden sollen! Sonderfunktion mit "start" "end"
   *        kann am Anfang oder Ende der Datei eigefügt werden. wenn der Parameter "neu"
   * 				übergeben wird wird eine neue Datei mit den werten angelegt.
   */
  
  /*
   * Beispielaufrufe:
   * schreibeXML ("C:\\DAten\\datei.xml",Hashtable , null , "start" )
   * dieser Aufruf setzt die in der Hashtable befindlichen Werte an den Anfang der
   * Datei unter das <XML>
   * 
   * schreibeXML ("C:\\DAten\\datei.xml",Hashtable , null , "end" )
   * dieser Aufruf setzt die werte der Tabelle an das Ende der Datei auch 
   * ohne Knotenpunkt
   * 
   * schreibeXML ("C:\\DAten\\datei.xml",Hashtable , "Knoten" , "start" )
   * schreibt die werte der Tabelle an den Anfang der Datei unter <xml> unter dem
   * Knotenpunkt Knoten
   * 
   * schreibeXML ("C:\\DAten\\datei.xml",Hashtable , "Knoten" , "end" )
   * schreibt die daten der Tabelle an das Ende der Datei unter dem Knotenpunkt Knoten
   * 
   *    diese Methode wurde erstellt von TRunKX
   */
  
  public void schreibeXML(String file1, Hashtable table1, String knotenname,
    String position)
  {

    // benötigte Variablen
    String gelesen;
    String fertig = "";
    String textfile2 = "";
    boolean planted = false;
    boolean writeafter = false;
    boolean alsKnoten = true;
    boolean neu = false ;

    if(knotenname == null)
    {
      alsKnoten = false;
    }

    if(position.equals("start"))
    {
      writeafter = true;
      position = "<xml>";
    }
    else if(position.equals("end"))
    {
      writeafter = false;
      position = "</xml>";
    }
    else if (position.equals("neu"))
    {
		//die alte conf wird gelöscht!
			 File dir = new File(file1);
				
			 dir.delete();
			 position = "neu";
			 neu = true;
    }

    try
    {
			if (neu)
			{
				PrintWriter pwoutD = new PrintWriter(new BufferedWriter(
					  new OutputStreamWriter(new FileOutputStream(file1, true))));
				pwoutD.println(" neu");
					 pwoutD.close();
			}
			
			
			
      //XML öffnen und bis zu dem Punkt auslesen wo das neue eingefügt werden soll
      try
      {
      InputStreamReader input = new InputStreamReader(new FileInputStream(file1));
      BufferedReader br = new BufferedReader(input);
      }
      catch (FileNotFoundException e)
      {
      	
      }
      //Die Hash Table sortieren
      Iterator keys = table1.keySet().iterator();
      Iterator values = table1.values().iterator();
      
      
	  	String textfile1="";
			if ( neu )
			{
				textfile1 = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n<xml>";
			}
      //Schleife die den Inhalt der Hashtable in die Vartiable xml Style schreibt
      while(keys.hasNext() && values.hasNext())
      {

        // kleiner Teil der das ganze nach XML aussehen lässt
        gelesen = "  <" + keys.next().toString() + " value=\""
          + values.next().toString() + "\"/>\n";
        textfile2 = textfile2 + "\n" + gelesen;
        gelesen = "";
      }

      gelesen = "";

      while(true)
      {

        //auslesen der dAtei
        gelesen = br.readLine();

        //am Ende wird das neue eingefügt und das end manuell neu geschrieben!
        if((gelesen != null) && gelesen.endsWith(position) && (planted == false))
        {
					//sollte unsere Sprungmarke für den eingriff erreicht sein
					//wird geprüft ob nach <xml> oder vor </xml> geschrieben wird
					//und ob wir einen Knotenpunkt haben oder nicht!
					//Je nach Faktoren wird dann entsprechend geschrieben
          if(writeafter == true)
          {

            if(alsKnoten)
            {
              fertig = textfile1 + fertig + gelesen + "\n" + "<" + knotenname + ">"
                + textfile2 + "\n" + "</" + knotenname + ">" + "\n";
            }
            else
            {
              fertig = textfile1 + fertig + gelesen + "\n" + textfile2 + "\n";
            }

            gelesen = "";
          }
          else
          {

            if(alsKnoten)
            {
              fertig =textfile1 + fertig + "\n" + "<" + knotenname + ">" + textfile2
                + "\n" + "</" + knotenname + ">";
				if (neu)
				{
				fertig = fertig + "\n </xml>";	
				}
				else
				{
		fertig = fertig + "\n" + gelesen;
		gelesen = "";
				}
            }
            else
            {
              fertig = textfile1 + fertig + "\n" + textfile2  ;
			  if (neu)
			  {
			  fertig = fertig + "\n </xml>";	
			  }
			  else
			  {
	  fertig = fertig + "\n" + gelesen;
	  gelesen = "";
			  }
            }

            gelesen = "";
          }

          planted = true;
        }

        //Abbruch am ende der Datei eigentlich unnötig nur falls es mal keine XML sein sollte
        else if(gelesen == null)
        {

          break;
        }

      }

      br.close();
    }
    catch(IOException e)
    {
      System.out.println(e);
    }

    BufferedReader brin = new BufferedReader(new InputStreamReader(System.in));

    try
    {

      File dir = new File(file1);

      dir.delete();
      
      //und in die neue wird der alte + neue Inhalt geschrieben
      PrintWriter pwoutD = new PrintWriter(new BufferedWriter(
            new OutputStreamWriter(new FileOutputStream(file1, true))));
      StringTokenizer st = new StringTokenizer(fertig, "\n");

      while(st.hasMoreTokens())
      {
        pwoutD.println(st.nextToken());
      }

      //Datei wird geschlossen
      pwoutD.close();
    }

    catch(IOException e)
    {
      System.out.println(e);
    }
  }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Tags in XML Datei mit Java erstellen XML & JSON 3
S XML Datei speichern nicht möglich XML & JSON 13
M Objekt zu jsonArray in .json datei hinzufügen ? XML & JSON 3
J Object in JSON Datei einlesen und als neues Object erzeugen (in ein Object Array) XML & JSON 29
I Mit Hibernate eine XML-Datei in eine Tabellenspalte einlesen. XML & JSON 1
MiMa Buch Metadaten aus XML Datei parsen XML & JSON 48
J Auslesen der Länge einer XML-Datei in Android Studio XML & JSON 8
R xlsx-Datei mit Apache POI einlesen XML & JSON 18
S Validierung einer XML-Datei - Führende Leerzeichen und Tabs XML & JSON 10
S CSV Datei einlesen und XML Ausgeben XML & JSON 2
U jar Datei mit ant erstellen XML & JSON 1
P wie kriege ich eine *.dtd Datei mit in die ausführbare *.jar? XML & JSON 2
K XML Datei erstellen und Daten daraus in Java auslesen XML & JSON 6
D XML-Datei per Button erstellen XML & JSON 3
K JAR-File mit XML-Datei XML & JSON 1
M Text eines Elements in XML Datei mit JAVA bearbeiten und kompletten Element-Zweig hinzufügen XML & JSON 16
I Liste in YAML Datei speichern und wieder auslesen XML & JSON 1
A Leeres Array beim Auslesen von XML-Datei XML & JSON 4
E JTreedaten in eine XML Datei speichern XML & JSON 3
D Int-Werte in XML-Datei schreiben (DOM) XML & JSON 2
B xsd-Datei ins jar file XML & JSON 5
T Formulardaten in XML Datei speichern XML & JSON 5
H Wsdl datei XML & JSON 2
D Große XML-Datei in einzel Dateien splitten XML & JSON 3
S Neue Inhalte in XML-Datei einfügen XML & JSON 0
S JDOM XML Datei darstellen Fehler! XML & JSON 2
S Xml File für den Aufbau einer anderen Xml Datei XML & JSON 6
M XML-Datei mit JAXB und 2 Namespaces XML & JSON 0
J XML - Datei wird nicht ganz angezeigt XML & JSON 2
P (Eclipse)Ant Script, .jar Datei erstellen mit MANIFEST.MF XML & JSON 12
Z XML Datei mit JDOM einlesen und verarbeiten XML & JSON 6
K Beim Parsen einer XML-Datei Connection timed out XML & JSON 4
E ResultSet als XML Datei speichern XML & JSON 7
M XStream, CSV Datei XML & JSON 9
A Frage zu bestehender XML Datei XML & JSON 6
A Simple Constructor Injection Datei-Pfad XML & JSON 6
K Einlesen eines Parameters aus HTML-Datei XML & JSON 4
Maxim6394 Lesen/Schreiben von XML Datei XML & JSON 9
A XML datei lesbar speichern (eingerückt) XML & JSON 7
M XML Datei Parsen XML & JSON 4
Airwolf89 HTML Datei mit SAXBuilder laden hängt sich auf XML & JSON 4
N Java Code aus XML Datei generieren XML & JSON 8
D Aus lesen einer XML-Datei ( 1 root, 3 childs) XML & JSON 7
D Wie XML Datei einlesen und HTML entities übernehmen? XML & JSON 3
R XLM Datei lesen Ändern (kompliziertes Search and Replace) und Speichern XML & JSON 12
K Kurze XML Datei Parsen XML & JSON 5
S XSD-Datei zulässige Werte auslesen XML & JSON 3
M XML Datei heapspace erreicht XML & JSON 3
M Große Datei auslesen/in dieser suchen XML & JSON 2
S Konforme XML Datei über XSD erstellen XML & JSON 2
M RSS-Datei auslesen von Yahoo Webservice XML & JSON 4
T Inhalt einer .xml Datei auf Javaoberfläche wiedergeben XML & JSON 4
M XML Datei drucken XML & JSON 8
T Daten aus Programm in XML Datei speichern XML & JSON 2
D XSD Datei erstellen XML & JSON 4
L [SAX] Geschachtelte XML Datei parsen XML & JSON 3
E XML Datei mit DOM auslesen (Text mit Attributen) XML & JSON 2
G txt. Datei in xml datei konvertieren XML & JSON 21
K XML Datei in ein Java package „einbinden" XML & JSON 3
L Reihenfolge beim xml Datei parsen einhalten? XML & JSON 8
L xml Datei parsen ohne End-Tag XML & JSON 6
C if-Abfrage mit Datei Variable aus XML-Datei XML & JSON 2
sylo Beim Erzeugen einer XML Datei auch die XML Struktur erzeugen? XML & JSON 11
sylo DOM Document in XML Datei schreiben XML & JSON 5
F XML Datei in Java einlesen XML & JSON 4
J Objektstruktur aus XML-Datei erzeugen XML & JSON 21
D ID's aus XML Datei rauslesen und in Java ausgeben XML & JSON 7
E XML Datei einlesen und Elemente in der Console ausgeben XML & JSON 6
N value Wert einer XML Datei mit JAVA bearbeiten XML & JSON 21
ARadauer Aus XML Datei Objekte erstellen... XML & JSON 3
N MalformedByteSequenceException bei Lesen aus XML Datei XML & JSON 2
H xml-Datei mit Attributen einlesen XML & JSON 3
A XML-Datei: Ab wann kritische Größe erreicht? XML & JSON 4
multiholle XML Datei elegant verarbeiten XML & JSON 14
M XMI-Datei auslesen XML & JSON 4
T Ließt keine XML Datei XML & JSON 2
R JAXB: Aus einem Vector oder List XML Datei erstellen XML & JSON 1
J XML-Datei ein Array einlesen XML & JSON 10
M xml - datei erstellen XML & JSON 2
T Wie einen String(XML Inhalt) in eine XML Datei speichern? XML & JSON 8
P Große XML Datei mittels JDOM bearbeiten / einlesen XML & JSON 6
H XML-Datei in einzelne XML-Dateien zerlegen XML & JSON 2
G Tags oder Zeilen der Not-Validen XML-Datei XML & JSON 7
C Suche in XML-Datei XML & JSON 6
D Zeilennummer in der XML - Datei XML & JSON 5
S Einlesen einer xml Datei XML & JSON 4
M Datei parsen XML & JSON 5
S PDF Erzeugung - Probleme mit der XML Datei bei Schema-Infos XML & JSON 2
S XML Datei einlesen, aber root überspringen XML & JSON 2
T Werte in XML Datei an entsprechender Stelle einfügen XML & JSON 3
Saxony unbekannte XML Datei parsen und ausgeben XML & JSON 10
L XML Datei in Java angeben Pfad? XML & JSON 3
A Mehrere Anwender sollen auf eine XML-Datei zugreifen XML & JSON 4
A SVG Datei auslesen und Batik XML & JSON 1
N neue XML-Datei erstellen mit vorhandener Struktur XML & JSON 18
D XML Datei innerhalb einer JAR Datei parsen XML & JSON 2
M brauche große XML-Datei für XPath-Tests XML & JSON 4
L mit Java eine HTML-Datei erstellen XML & JSON 3
L bz2-Datei parsen XML & JSON 9
A xml-schema aus wsdl auslagern in eine eigene xsd-Datei XML & JSON 3

Ähnliche Java Themen

Neue Themen


Oben