G
gast_connie
Gast
hallo,
ich möchte, für ein kleines testprogramm, die testdaten aus einer xml-datei auslesen. für die klasse PlusButton und die Methode operate also die 2 testfälle plus1 und plus2 mit den jeweilen testdaten <param>
ich habe mit java und jdom nur wenig erfahrung. ich möchte die tags "var" und "result" jeweils in ein array schreiben, die ich dann übergeben kann. so in etwa habe ich mir das vorgestellt:
so funktioniert es nicht, ich bekomme den fehler java.lang.ClassCastException. hat jemand eine einfache lösung parat?
vielen dank.
ich möchte, für ein kleines testprogramm, die testdaten aus einer xml-datei auslesen. für die klasse PlusButton und die Methode operate also die 2 testfälle plus1 und plus2 mit den jeweilen testdaten <param>
Code:
<tests>
<class name="PlusButton">
<method name="operate">
<test-case name="plus1">
<params>
<param name="var">10</param>
<param name="var">20</param>
<param name="result">30</param>
</params>
</test-case>
<test-case name="plus2">
<params>
<param name="var">15</param>
<param name="var">9</param>
<param name="var">1</param>
<param name="result">25</param>
</params>
</test-case>
</method>
</class>
...
ich habe mit java und jdom nur wenig erfahrung. ich möchte die tags "var" und "result" jeweils in ein array schreiben, die ich dann übergeben kann. so in etwa habe ich mir das vorgestellt:
Code:
File datei = new File("C:/testen/workspace/TRechnerTest/testdata/test_data.xml");
SAXBuilder builder = new SAXBuilder();
Document document = builder.build(datei);
Element root = document.getRootElement();
List test=root.getChild("class").getChild("method").getContent();
Iterator t=test.iterator();
String var[]=null;
String res[]=null;
while(t.hasNext())
{
Element e = (Element) t.next();
List tliste=root.getChild("class").getChild("method").getChild("test-case")
.getChild("params").getChildren();
Iterator tl=tliste.iterator();
for(int j=0; j<tliste.size(); j++)
{
//Initialisierung der beiden Arrays var und res fehlt noch
Element el=(Element) tl.next();
if(el.getChild("param").getAttribute("name").getValue()=="var")
//var[j]=el.getChild("param").getText();
System.out.println("var "+el.getChild("param").getValue());
else if(el.getChild("param").getAttribute("name").getValue()=="result")
//res[j]=el.getChild("param").getText();
System.out.println("result"+el.getChild("param").getValue());
}
}
so funktioniert es nicht, ich bekomme den fehler java.lang.ClassCastException. hat jemand eine einfache lösung parat?
vielen dank.