# Subknoten anlegen überschreibt den vorher angelegten



## mkgandalf (29. Jun 2007)

Hallo

ich habe follgendes Problem:

ich erzeuge initial ein xml

beim anlegen eines Subknotens mit kindern wird nur ein kind eingetragen, nämlich immer das zu letzt hinzugefügte


```
for(int i =0;i<aTestScripts.length;i++)
			{
				org.jdom.Element eltScript = new org.jdom.Element("script");
				org.jdom.Element eltScriptName = new org.jdom.Element("name");
				eltScriptName.setText(aTestScripts[i].getName());
				org.jdom.Element eltScriptTimeout = new org.jdom.Element("timeout");
				eltScriptTimeout.setText(aTestScripts[i].getTimeout());
				org.jdom.Element eltScriptModel = new org.jdom.Element("model");
				org.jdom.Element eltScriptModelResponsible = new org.jdom.Element("responsible");
				org.jdom.Element eltScriptModelDescription = new org.jdom.Element("description");
				org.jdom.Element eltScriptModelName = new org.jdom.Element("name");
				eltScriptModelName.setText(aTestScripts[i].getProjectpath().lastSegment());
				org.jdom.Element eltScriptModelPath = new org.jdom.Element("path");
				eltScriptModelPath.setText(aTestScripts[i].getProjectpath().removeLastSegments(1).toOSString());
				eltScriptModel.setContent(eltScriptModelResponsible);
				eltScriptModel.setContent(eltScriptModelDescription);
				eltScriptModel.setContent(eltScriptModelName);
				eltScriptModel.setContent(eltScriptModelPath);
				eltScript.addContent(eltScriptModel);
				eltScript.addContent(eltScriptName);
				eltScript.addContent(eltScriptTimeout);
				resultlisting.addContent(eltScript);
			}
			root.addContent(resultlisting);
		
			doc.setRootElement(root);
```

das XML sieht wie folgt aus:

```
<testcase>
  ...
  <resultlisting>
    <script>
      <model>
        <path>bla</path>
      </model>
      <name>blub</name>
      <timeout>bla</timeout>
    </script>
  </resultlisting>
</testcase>
```

sollte aber so aussehen


```
<testcase>
  ...
  <resultlisting>
    <script>
      <model>
        <responsible />
        <description />
        <name>ja</name>
        <path>bla</path>
      </model>
      <name>blub</name>
      <timeout>blab</timeout>
    </script>
  </resultlisting>
</testcase>
```

beim debuggen sieht man, genau das er das kind von "model" immer überschreibt

wenn ich addContent(nummer, element) benutzte bekomme ich eine ArrayOutOfBoundException

was mach ich falsch?

Infos: java 5.0.10 JRE 6.0 Windoof 2000, Jdom 1.0

Gruß
 Michael


----------



## Marco13 (29. Jun 2007)

Versuch mal addContent statt setContent...


----------



## mkgandalf (29. Jun 2007)

Marco13 hat gesagt.:
			
		

> Versuch mal addContent statt setContent...



ahhh man das ist ein Verschreiber da hätte ich auch selber drauf kommen müssen 

ich kann mich noch nicht mal mit Copy/Paste rausreden, so ein Mist

tausend Dank

Michael


----------

