在特定位置添加XML数据

时间:2012-07-02 13:26:43

标签: java xml jaxb

我有一个非常大的XML数据,应该在每次程序启动时加载。

<Calculation>
 <CalcGroup TypeOfGroup="GeneralInfo">
   <Parameter Name="name"></Parameter>
 </CalcGroup>
 <EnvironmetData>
  <EnvDataGroup  Id="1">
    <Parameter Name="Lastname"/>
  </EnvDataGroup>
 </EnvironmentData>
 <ComponentData>
  <Component TypeofComponent="Piston" ID="1">
   <ComponentCatagory="Values">
    <Parameter Name ="Temprature"></Parameter>
   </ComponentCatagory>
  </Component>
 </ComponentData>
</Calculation>

如何加载默认的XML?并在我的项目中添加或删除项目?

每当我尝试为ex。

添加元素时
   Component com = new Componet();
   com.setTypeofComponent=("Piston");
   com.setID(BigInteger.valueof(2));
   ComponentData.getcomponet().add(com);

我发现这个组件在XML文件的末尾添加了,而我只需要在pistion catagory中。 fyi,我使用jaxb生成属性方法。我在java代码中使用这个xml。谢谢你的帮助。

1 个答案:

答案 0 :(得分:5)

添加到结束

这就是你目前正在做的事情。 add方法会将新Component添加到List属性的末尾。

componentData.getComponent().add(com);  // Add to End

添加特定位置

您可以使用List API在specify位置添加新组件。

componentData.getComponent().add(3, com);

修改现有项目

如果您想首先修改Component中的现有List,则需要访问它。

Component com = componentData.getComponent().get(6);
com.setTypeofComponent=("Piston");
com.setID(BigInteger.valueof(2));