在特定位置添加XML数据

fit*_*ena 3 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>
Run Code Online (Sandbox Code Playgroud)

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

每当我试图为ex添加元素时.

   Component com = new Componet();
   com.setTypeofComponent=("Piston");
   com.setID(BigInteger.valueof(2));
   ComponentData.getcomponet().add(com);
Run Code Online (Sandbox Code Playgroud)

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

bdo*_*han 5

添加到结束

这就是你目前正在做的事情.该add方法将新属性添加ComponentList属性的末尾.

componentData.getComponent().add(com);  // Add to End
Run Code Online (Sandbox Code Playgroud)

添加特定位置

您可以使用ListAPI在某个specify位置添加新Component .

componentData.getComponent().add(3, com);
Run Code Online (Sandbox Code Playgroud)

修改现有项目

如果Component要从第List一个修改现有内容,则需要访问它.

Component com = componentData.getComponent().get(6);
com.setTypeofComponent=("Piston");
com.setID(BigInteger.valueof(2));
Run Code Online (Sandbox Code Playgroud)