Servus,
Ich hab nen Problem ich kenn mit mit Java net so gut aus im Bereich umgang mit vielen Daten.
Ich hab viele Daten :lol:
Das ist mein Code er dient dazu ein XML File zu Parsen und schlüsselt die Elemente (Tags) des XML Files auf.
Ich möchte die vielen Daten nun einfach zugänglich machen.
Ausgabe:
XML-FILE
Dabei ist mir wichtig das die Daten nicht durcheinander kommen. Soll ich dazu ein Mehrdimensionales Array nehmen oder gibt es da eine bessere Lösung?
Also:
Array[elemente][attribute][wertdesattributes][text]
Gruß
Zed
Ich hab nen Problem ich kenn mit mit Java net so gut aus im Bereich umgang mit vielen Daten.
Ich hab viele Daten :lol:
Code:
public class ReadElements {
// Path to XML File
public static final String path = "C:/Workspace/XMLEdit/data/test.xml";
public ArrayList ElementsAL = new ArrayList();
public ReadElements(){
try {
SAXBuilder builder = new SAXBuilder();
Document document = builder.build(path);
listNodes(document,0);
} catch ( Exception e){
e.printStackTrace();
}
}
private static void listNodes(Object o, int depth){
if(o instanceof Element){
Element element = (Element)o;
System.out.println("Element: " + element.getName());
List att = element.getAttributes();
Iterator itAtt = att.iterator();
while (itAtt.hasNext()){
Attribute attribute = (Attribute)itAtt.next();
System.out.println("Name: "+attribute.getName()+" Value: "+attribute.getValue());
}
List content = element.getContent();
Iterator it = content.iterator();
while (it.hasNext()){
Object obj = it.next();
listNodes(obj,depth+1);
}
}else if (o instanceof Document){
Document document = (Document) o;
System.out.println("Document");
List content = document.getContent();
Iterator it= content.iterator();
while (it.hasNext()){
Object obj =it.next();
listNodes(obj, depth +1);
}
}else if (o instanceof Comment){
System.out.println("Comment");
}else if (o instanceof Text){
Text text = (Text)o;
System.out.println("Text: "+text.getTextTrim() );
}else if (o instanceof EntityRef){
System.out.println("Entity reference");
}else if (o instanceof ProcessingInstruction){
System.out.println("Processing instruction");
}else{
System.out.println("Unexpectet type: " + o.getClass());
}
}
}
Das ist mein Code er dient dazu ein XML File zu Parsen und schlüsselt die Elemente (Tags) des XML Files auf.
Ich möchte die vielen Daten nun einfach zugänglich machen.
Ausgabe:
Code:
Document
Element: root
Text:
Element: element
Text:
Element: value
NameAtt: verify ValueAtt: true
Text: Wert
Text:
Element: value
Text: Wert2
Text:
Text:
Element: element
Text:
Element: value
NameAtt: verify ValueAtt: 1
Text: Wert
Text:
Element: value
Text:
Element: test
Text: hh
Te
Text:
XML-FILE
Code:
<root>
<element>
<value verify="true">Wert</value>
<value>Wert2</value>
</element>
<element>
<value value="1">Wert</value>
<value>
<test>hh</test>
</value>
</element>
</root>
Dabei ist mir wichtig das die Daten nicht durcheinander kommen. Soll ich dazu ein Mehrdimensionales Array nehmen oder gibt es da eine bessere Lösung?
Also:
Array[elemente][attribute][wertdesattributes][text]
Gruß
Zed