有什么方法可以使用 java.xml编辑/删除YAMLfile 中的值。
我正在使用 struts2-jquery-grid 从 YAML 文件中填充数据。现在,如果我编辑字段,它应该保存在 YAML 文件中。我能够分别使用yaml.load() 和 yaml.dump()从 YAML 格式的文件中读取值并将值写入文件。但是,我不知道要编辑和删除特定字段。
我浏览了http://code.google.com/p/snakeyaml/wiki/Documentation#Dumping_YAML链接,在那里我读到我们可以使用模板处理器和其他选项,例如定义 java bean 属性的顺序、注释以简化.yaml _ 但所有这些对我来说都没有任何意义。
这是我在此处序列化称为假设的对象列表的代码。在gridModel.add(假设); ,我将类 Assumption(带有 fetters 和 setter 的 bean 类)的值存储到gridModel的列表中。
gridModel.add(assumption);
try {
FileWriter pr=new FileWriter("D:/yaml.yaml");
DumperOptions options = new DumperOptions();
options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
Yaml yaml = new Yaml(options);
String output=yaml.dump(gridModel);//,Tag.MAP, null);
pr.write(output);
System.out.print(pr.toString());
System.out.println();
pr.close();
}catch(Exception e){
e.printStackTrace();
}
我在一个名为 yaml.yaml 的文件中得到的输出为:
- !!com.example.Assumption column1: '1' column2: Balwant column3: SPJ column4: rerer column5: null
- !!com.example.Assumption column1: '' column2: Vikas column3: RNC column4: erer column5: null
- !!com.example.Assumption column1: '3' column2: '' column3: PNBE column4: erer column5: null
- !!com.example.Assumption column1: '4' column2: Diwakar column3: BGP column4: rerer column5: null
- !!com.example.Assumption column1: '5' column2: Ajay column3: Godda column4: '' column5: null
对于反序列化,代码为:
InputStream input = new FileInputStream(new File("D:/yaml.yaml"));
Yaml yaml = new Yaml();
for (Object data : yaml.loadAll(input))
System.out.println("Data:"+data);
控制台的输出是:
数据:[假设[column1=1,column2=Balwant,column3=SPJ,column4=rerer,column5=null],假设[column1=,column2=Vikas,column3=RNC,column4=erer,column5=null],假设[ column1=3, column2=, column3=PNBE, column4=erer, column5=null], 假设 [column1=4, column2=Diwakar, column3=BGP, column4=rerer, column5=null], 假设 [column1=5, column2 =Ajay, column3=Godda, column4=, column5=null]]
我是 yaml 和 struts2 的新手。所以,请回答一个干净的解决方案。纠正我,如果我在描述要求时错了。提前致谢...