您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

XML解析以及增删改查的操作 2

2026/6/9 1:52:48发布18次查看
我写了一个节点操作的接口inodeaction,直接贴代码: getprevioussibling方法就是获取上一个相邻的节点,getnextsibling是获取下一个相邻的节点。 getbeifen方法主要是为了文档式化用。是根节点则返回0. printspace方法就是根据节点辈分,在写文档的时候式化
     我写了一个节点操作的接口inodeaction,直接贴代码:
getprevioussibling方法就是获取上一个相邻的节点,getnextsibling是获取下一个相邻的节点。
getbeifen方法主要是为了文档格式化用。是根节点则返回0.
    printspace方法就是根据节点辈分,在写文档的时候格式化
再写了节点的基类node:
import java.io.serializable;import java.util.list;/** * xml文档节点基类,可以是普通节点,注释节点,文本节点 * */public abstract class node implements serializable,inodeaction{ /** * 序列化版本号 */ private static final long serialversionuid = 3858789701720999153l; /** * 父节点.规定 根节点的父节点为空 * */ protected element father; /** * 由文档对象直接添加的节点 domfather赋值为document对象 * */ protected document domfather; @override public integer getbeifen(){ integer n; if(father==null){ n = 0; return n; } node node = this; n = 0; while(node.father!=null){ n++; node = node.father; if(node.father==null){ return n; } } if(!(node.father==null)){ return null; } return n; } public element getfather() { return father; } @override public string printspace() { stringbuffer sb = new stringbuffer(); integer n = getbeifen(); if (n == null) { return sb.tostring(); } for (int i = 0; i nodelist = domfather.getnodelist(); int idx = nodelist.indexof(this); return idx==0?null:nodelist.get(idx-1); } } list nodelist = father.getnodelist(); int idx = nodelist.indexof(this); return idx==0?null:nodelist.get(idx-1); } @override public node getnextsibling() { if(father==null){ if(domfather==null){ documentutil.throwexception(节点还没添加到文档!); }else{ list nodelist = domfather.getnodelist(); int idx = nodelist.indexof(this); return idx==nodelist.size()-1?null:nodelist.get(idx+1); } } list nodelist = father.getnodelist(); int idx = nodelist.indexof(this); return idx==nodelist.size()-1?null:nodelist.get(idx+1); }}
关键在于编程的思想。有想法就什么都能实现。下面就是写节点的具体实现类了。另起一篇。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product