您的位置:首页 > 其它

xml文件指定位置插入节点+小结

2013-08-30 18:54 549 查看
xml中插入节点,首先是在哪里插入,这里说的是在哪个节点后面插入,
用Xpath取到该节点,获取到该节点后,再与根节点下所有的节点循环比较,记录比较次数得到节点的索引也就是节点的位置
在调用一个方法Element.addContent(int index,Content newContent); 指定位置插入节点,不过取到的节点位置最好输出一下,
以免插入错误的时候不知道。
public static int getInsertIndex(Element rootEle,String contentName){
/**从root根节点第一个节点到指定节点的节点数(包括所有节点包括元素节点和其他节点,下同)*/
int size = 0;
/**节点绝对路径*/
String selectStr = "/web-app/"+contentName+"[last()]"; //也可以是其他的字符串,可通过id或name属性取到指定节点
/**查找到的指定节点*/
Content lastNode = null;
try {
lastNode = (Content)XPath.selectSingleNode(rootEle,selectStr); //获取与该节点名字(参数 contentName)相同的最后一个节点
} catch (JDOMException e) {
e.printStackTrace();
}
/**根节点下所有节点(所有节点包括元素节点和其他节点)*/
List<Content> contentLis = rootEle.getContent();
int i = 0;
for(;i<contentLis.size();i++){ //遍历根节点下所有节点,直到指定节点
size++;
if(contentLis.get(i).equals(lastNode)) //判断是否遍历到匹配的节点
break;

}
return size;
}Xpath获取节点就不多说了,可以通过id或name属性取到唯一节点
存的话就是 Element root.addContent(int index,Content newContent); 方法。
主要是结合从xml拿到注释的节点然后集成到另一个xml,还涉及到节点插入的时候是有顺序的,不能乱,比如web.xml。

最近小结:今天因为要用一些东西看原来的程序,打开的时候乱码了,先跑一下吧,马马虎虎把参数写上了,跑了一下生成的东西也有乱码,跟着程序走一下吧,看哪里乱码了改下,
一行一行的看,当时师傅也在,着急啊,也找不到,以前经常说加注释,现在也有时候忘了,回头看的时候真是费时间啊,耽误事,所以注释一定要写明白,有一句话我记忆特别深刻
“在写程序的时候是逻辑最清晰的时候”,所以那时候加上注释下次看的时候也不会耽误时间了。
还有就是逻辑要清晰比如if else可能为了省点代码,也考虑到了所有情况但是别人看的时候,或自己下次自己返回来看的时候可能就得看一段时间,有时候代码多两行没事。
还有就是要多读和学会读控制台报错,遇到了硬着头皮读,不懂查,总结积累,自己慢慢的也就会了,开始也看,就是大概看一看看不懂就不看了,也没总结,每次遇到都要查,要
多积累。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  XML 索引 xpath 注释 web.xml