XML Datein mit JTable aktualisieren

Status
Nicht offen für weitere Antworten.

Alino

Aktives Mitglied
Hallo!

Ich Lese ein XML File und stellt die Werte als JTable auf eine JFrame dar. Jetzt will ich, wenn meine Tabelle sich ändern(löschen oder Änderung), den XML Dateien aktualisieren.
Wie kann ich vorgehen?

Danke füe jede Hilfe!
 

Alino

Aktives Mitglied
Was ich bis jetzt für speichern gemacht habe, is nur ein Test. Ich habe 16 InternalFrame die ich nach wahl öffnen kann. Aber wenn ich speicher will über eine Menu,ist meine Tabelle aktualisiert aber dier werte sind noch nicht im meinem XML Dateien
Code:
public static void save(){
		
		for(int i=0; i<internalFrame.length;i++){
			DefaultTableModel data=(DefaultTableModel) table.getModel();
			Object[] oa = data.getDataVector().toArray();
			System.out.println("ich"+oa[0]+tableDescription);
			if(tableDescription==oa[0]){
				System.out.println("bin+ich+hier");
				for(int w=0;w<oa.length;w++){
				Object[] o = ((Vector)oa[w]).toArray();
					for(int j=1;j<o.length;j++){
				
						if(entryValues!=data.getValueAt(w,j)){
							data.fireTableCellUpdated(w,j);
							tempEntry.getAttribute("value").setValue((String)data.getValueAt(w,j));
							System.out.println("entryValues="+(String)data.getValueAt(w,j));
						}
					}
				}
			}
		}
 

Alino

Aktives Mitglied
Ich habe meine Speicher-Methode so weit unter kontrolle. Aber wie ändere ich die Werte in XML- Dateien ohne eine
new Document() zu benutzen.Weil eine neue Document wurde heissen ich schreibe alles mit Tagname,usw...
Code:
public static void save(){ 
		//Speichern im file config.xml
		tableList = root.getChildren("table"); 
		Iterator tableIterator = tableList.iterator();
		
		for(int i=0; i< tableList.size(); i++){
			table=TableModel[i];//hole nur die letzte Tabelle
			DefaultTableModel data=(DefaultTableModel) table.getModel();
			Object[] oa = data.getDataVector().toArray();	
						
				Element tableElement1;
		
				tableElement1 = (Element) tableIterator.next();	
				tableNames = tableElement1.getAttributeValue("name"); 
				tableDescription = tableElement1.getAttributeValue("description");
								
				List rowList = tableElement1.getChildren("row");
				Iterator rowIterator1 = rowList.iterator();
				System.out.println("hier"+0);
				Element tempRow;
			if(i==15){//hier muss ich noch eine passenden Bedingung nehmen.
				//while(rowIterator.hasNext()){
				for(int j=0; j< oa.length; j++){//oder j<oa.length
					Object[] o = ((Vector)oa[i]).toArray();
					tempRow = (Element) rowIterator1.next();
					rowNames = tempRow.getAttributeValue("name");
			
					List entryList = tempRow.getChildren("entry");
					entryIterator = entryList.iterator();
					Element tempEntry;
					System.out.println("hier"+1);
						//while(entryIterator.hasNext()){
						for(int k=1; k< o.length; k++){	
							//if(rowNames ==o[0].toString()){
							System.out.println("hier rowname "+rowNames);
							tempEntry = (Element) entryIterator.next();
							entryNames = tempEntry.getAttributeValue("name");
							String entryTyp = tempEntry.getAttributeValue("type");
							//String entryDesc = tempEntry.getAttributeValue("description");
							Attribute value =tempEntry.getAttribute("value");
							String entryValue =tempEntry.getAttributeValue("value");
								if(data.getValueAt(j,k).toString()!=entryValue){
									System.out.println("hier"+3+entryValue+" "+data.getValueAt(j,k)+j+k);
									value.detach();//lösche
									entryValue = data.getValueAt(j,k).toString();
									//tempEntry.getAttribute("value").setValue(entryValue);
									value.setValue(entryValue);
									tempEntry.setAttribute("value",entryValue);
									//->hier hätte ich gern value als Attribute vom dem aktuelle
									//tempEntry in meine XML file.
									System.out.println("hier"+4+tempEntry+" "+value);				
								}
							//}//if
						}//for
				}//for
			}//if
		}//for 
		
	}
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben