# Array durchsuchen...



## Serpil (25. April 2007)

Hallo,

eigentlich bin ich keine Anfängerin aber irgendwo hängts grad.
Ich komm einfach nicht drauf wie ich es machen soll!  
Hoffe es kann mir jemand helfen.
Mein Problem ist folgendes:

Ich habe ein Programm das csv dateien in XML files convertiert(hatte es hier schon gepostet 
http://www.tutorials.de/forum/java/269581-csv-datein-xml-konvertieren.html.
Jetzt muss ich es aber umschreiben weil es nicht ganz so richtig ist.
ich soll jetzt in einer anderen klasse z.B. diese Werte speichern ( produkt, bezeichnung, faelligkeit usw. ) und diese dann mit den strings aus meiner Converter Klasse vergleichen und in einem anderen string speichern
aber leider komm ich nicht drauf wie ich das machen soll oder wie ich dadrauf zugreifen soll.
Ich habe es als neues Thema gepostet hoffe es ist ok so.
Danke.
Lg Serpil


----------



## Anime-Otaku (25. April 2007)

Arrays.binarySearch()  davor könnte dir weiterhelfen. Jedoch muss das Array dafür vorsortiert sein(Arrays.sort()), da es nach dem Prinzip vorgeht....nimm die hälfte...ist größer nimm von dieser Hälfte wieder die Hälfte usw.
Du brauchst jedoch, wenn das deine eigene Klasse ist einen Comparator(den du jedesmal mit übergibst) oder du implementierst das Comparable Interface bei deiner eigenen Klasse.


----------



## Serpil (25. April 2007)

die sollen nicht sortiert sein. Es ist eine bestimmte reihenfolge vorgegeben und außerdem weiss ich nicht wie ich die werte in der klasse speichern soll
Könntest du mir ein beispiel geben? Danke


----------



## Serpil (25. April 2007)

Kann mir niemand helfen.
Ich brauch nur einen kleinen denkanstoß... Bin für jede hilfe Dankbar


----------



## zerix (25. April 2007)

Hallo,

ich weiß nicht, ob es nur mir so geht, aber ich verstehe nicht so ganz was du machen willst.


MFG

zEriX


----------



## Serpil (25. April 2007)

hi, 
du kennst mein code ja einigermaßen(vielleicht sogar besser als ich  )
also ich hab doch aus der csv datei mein xml file erzeugt. Aber jetzt soll ich nur die werte aus der csv datei holen und in ein anderes xml file reinschreiben.
Und ich möchte in einer klasse die neuen xml tags speichern und sie mit den aus der csv datei abgleichen und sobald diese übereinstimmen den dazugehörigen wert speichern.
ich hoffe ich konnte es einigermaßen erklären


----------



## zerix (25. April 2007)

Zwei fragen. Die Werte aus der CSV-File, wie sollen die in die XML-Datei geschrieben werden, als Element oder als Value?
Woher kommen die XML-Elemente?


----------



## Anime-Otaku (25. April 2007)

```
//statt dem
for(int i =0; i<list.length ;i++)
{				

        addData(list[i]);

}
       //hier einfach data.setWeisderGeierWas(list[0]); mit if Überprüfung bitte
       //hier einfach data.setSonstWas(list[1]);
```
Da du ja weißt in welcher Reihenfolge die Spalten in der CSV Datei vorkommen musst du das einfach durch die entsprechenden Setter deiner Klasse setzen.
Wie man eine Klasse erstellt muss ich hoffentlich hier nicht erklären...dafür hilft dir das weiter..http://www.galileocomputing.de/openbook/javainsel6/javainsel_03_004.htm
Es sei nur gesagt, dass die Attribute i.d.R. private deklariert werden und die Getter und Setter public (können von eclipse generiert werden)


----------



## Serpil (25. April 2007)

ich weiss es ist kompliziert, deshalb versuche ich es nochmal:
das ist meine XML datei die ich aus der csv datei convertiere:

```
zerobond.xml
<sDISPlusImport>
	<IGattung>
		<IZEROBOND>
			<EMITTENT>BASF AG</EMITTENT>
			<FAELLIGKEIT>24.04.2002</FAELLIGKEIT>
			<FINANZPLATZ>Frankfurt</FINANZPLATZ>
			<INTERN>PIA11042007164749937zb</INTERN>
			<NAME>Zerobond-0019</NAME>
			<RUECKZAHLUNGSKURS>6,3</RUECKZAHLUNGSKURS>
			<TEILMARKT>IHS</TEILMARKT>
			<USANCE>ICMA-251</USANCE>
			<VALUTATAGE>2</VALUTATAGE>
			<WAEHRUNG>EUR</WAEHRUNG>
			<WPRKENNUMMER>ZO0019</WPRKENNUMMER>
			<EMISSIONSDATUM>01.01.2000</EMISSIONSDATUM>
			<EMISSIONSRENDITE>0</EMISSIONSRENDITE>
			<ISIN>ZERO-0000019</ISIN>
			<REIHE></REIHE>
			<ERSTELLUNGSDATUM>11.04.2007</ERSTELLUNGSDATUM>
			<LGD_KONFIGURATION>ungenutzt</LGD_KONFIGURATION>
			<LGD_KLASSE>ungenutzt</LGD_KLASSE>
			<GAT_KOMMENTAR></GAT_KOMMENTAR>
		</IZEROBOND>
	</IGattung>
</sDISPlusImport>
```

es soll aber so aussehen:

```
newXmlFile.xml
<sDISPlusImport >
	<IGattung>
		<IZerobond>
			<produkt>Zerobond</produkt>
			<isin>DE4711</isin>
			<wkn>4711</wkn>
			<bezeichnung>bezeichnung</bezeichnung>
			<kurzbezeichnung>kurzbezeichnung</kurzbezeichnung>
			<teilmarkt>Swap</teilmarkt>
			<waehrung>EUR</waehrung>
			<landiso>DEU</landiso>
			<branche>Bau</branche>
			<valutaregel>0</valutaregel>
			<finanzplatz>Frankfurt</finanzplatz>
			<emittent>emittent</emittent>
			<boersennotiert>EU regulated markets</boersennotiert>
			<kursversorgt>true</kursversorgt>
			<faelligkeit>2001-01-01</faelligkeit>
			<rueckzahlungskurs>100.0</rueckzahlungskurs>
			<emissionsdatum>2001-01-01</emissionsdatum>
		</IZerobond>
	</IGattung>
</sDISPlusImport>
```

das heisst: ich möchte produkt,isin,wkn usw in einer klasse speichern und nur die werte (BASF AG ... usw ) aus zerobond.xml (oder besser gesagt aus der csv datei )speichern. Es soll sozusagen für mehrere csv dateien ein einheitliches xml file in form von newXmlFile erstellt werden.
Ich hoffe es ist jetzt ein bisschen verständlicher.
Danke für eure bemühungen


Anhang: was ich noch vergessen habe: die Werte bei newXmlFile stimmen nicht überein. das ist nur als beispiel


----------



## jeipack (25. April 2007)

Also.. ich probiers jetzt ein mal 

Du hast Daten in einer CSV Datei gespeichert. Da du ja keine Anfängerin mehr bist, sollte es kein Problem sein diese nun in eine XML Datei mit einem bestimmten Format ab zu legen.

Die Werte: produkt,isin,wkn usw sollen aber noch hinzugefügt werden (diese stehen nicht in der CSV Datei). Stimmt das? (Leider muss auch ich sagen, dass ich dein Problem nicht richtig verstehe).

Mhh.. vermutlich stimmt das was ich sage schon überhaupt nicht mehr mit dem überein, was du eigentlich willst, denn bist jetzt sehe ich keine Schwierigkeit. Und was das mit dem Titel (Array durchsuchen...) zu tun hat weiss ich schon gar nicht.

Mal als Tipp:
Bevor du einen Thread abschickst, lies ihn nochmals sorgfälltig durch und überlege dir, ob jemand der keine Ahnung hat was du machst nun weiss was deine Frage ist. 

Gruss
der nicht verstehende jeipack ^^


----------



## Serpil (25. April 2007)

dann gebe ich es auf weil ich nicht weiss wie ich es sonst erkären soll und versuche es selber weiter.
Vielen dank für eure hilfe...
Lg Serpil


----------

