import java.io.FileOutputStream;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class TestDom4j {
public static void main(String[] args) throws Exception {
addAgeBefore();
}
//在第一个p1下面的age标签之前添加 <school>work</schlool>
public static void addAgeBefore() throws Exception {
// 创建解析器
SAXReader saxReader = new SAXReader();
// 得到document
Document document = saxReader.read("src/p1.xml");
// 得到根节点
Element root = document.getRootElement();
// 获取到第一个p1
Element p1 = (Element)root.element("p1");
// 获取p1下面的所有元素
List<Element> list = p1.elements();
// 创建元素 使用
Element school = DocumentHelper.createElement("school");
// 在school下面创建文本
school.setText("work");
// 在特定位置添加
list.add(1, school);
// 回写xml
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("src/p1.xml"), format);
xmlWriter.write(document);
xmlWriter.close();
}
}
此代码可以运行,但是List list = p1.elements();出现泛型警告,有什么可以完美解决的方案吗?注解@SuppressWarnings不算
List list = p1.elements();如果改成List<?> list=p1.elements();那么list.add(1, school);这句会报错的(1, school);这句会报错的