XML文件中的内容:
<RowData>
<ROW VV_ID="394150" VV_DATE="20090701T13:52:00000" VV_SPEED="0" VV_OIL_VOL="0" VV_ENGINE="0" />
<ROW VV_ID="394151" VV_DATE="20090701T13:54:00000" VV_SPEED="0" VV_OIL_VOL="0" VV_ENGINE="0" />
<ROW VV_ID="394152" VV_DATE="20090701T13:55:00000" VV_SPEED="0" VV_OIL_VOL="0" VV_ENGINE="1" />
<ROW VV_ID="394153" VV_DATE="20090701T13:55:00000" VV_SPEED="0" VV_OIL_VOL="0.465" VV_ENGINE="1" />
<ROW VV_ID="394154" VV_DATE="20090701T13:56:00000" VV_SPEED="35" VV_OIL_VOL="0.478" VV_ENGINE="1" />
<ROW VV_ID="394155" VV_DATE="20090701T13:56:00000" VV_SPEED="48" VV_OIL_VOL="0" VV_ENGINE="1" />
</RowData>方法:
public void delXMLProp(){
boolean first=true;
String ft="";
for (Iterator<Element> it = rows.iterator(); it.hasNext();){//此处it是RowData的子节点Row
Element vinfo = (Element)it.next();
vinfo.removeAttribute("VI_TERMINAL_ID");
vinfo.removeAttribute("VV_ACTIVESTATE");
vinfo.removeAttribute("VV_LONG");
vinfo.removeAttribute("VV_LAT");
vinfo.removeAttribute("VV_MILEAGE");
vinfo.removeAttribute("VV_TOTALMILEAGE");
vinfo.removeAttribute("VV_GASWASTAGE");
vinfo.removeAttribute("VV_TOTALGASWASTAGE");
vinfo.removeAttribute("VV_GPS");
vinfo.removeAttribute("VV_GRAPH_TYPE");
//vinfo.removeAttribute("VV_ID");
vinfo.removeAttribute("VV_OIL_VOL_DEAL");
if(first){
if(Integer.parseInt(vinfo.getAttributeValue("VV_ENGINE"))!=0){
ft=vinfo.getAttributeValue("VV_DATE");
first=false;
}else{
System.out.println("first data is invalid!remove it!");
vinfo.getParentElement().removeContent(vinfo);此处发生错误
//System.out.println(vinfo.getParentElement().getName());
//vinfo.getParentElement().removeChild(vinfo.getName());
}
}else if(Integer.parseInt(vinfo.getAttributeValue("VV_ENGINE"))==0 ||vinfo.getAttributeValue("VV_DATE")==ft){
vinfo.getParentElement().removeContent(vinfo);
//vinfo.getParentElement().removeChild(vinfo.getName());
}else{
ft=vinfo.getAttributeValue("VV_DATE");
}
}
outputXML();
}我想将文件中Engine=“0”的子节点全部剔除,请问为什么不能用removeContent(vinfo)??
<RowData>
<ROW VV_ID="394150" VV_DATE="20090701T13:52:00000" VV_SPEED="0" VV_OIL_VOL="0" VV_ENGINE="0" />
<ROW VV_ID="394151" VV_DATE="20090701T13:54:00000" VV_SPEED="0" VV_OIL_VOL="0" VV_ENGINE="0" />
<ROW VV_ID="394152" VV_DATE="20090701T13:55:00000" VV_SPEED="0" VV_OIL_VOL="0" VV_ENGINE="1" />
<ROW VV_ID="394153" VV_DATE="20090701T13:55:00000" VV_SPEED="0" VV_OIL_VOL="0.465" VV_ENGINE="1" />
<ROW VV_ID="394154" VV_DATE="20090701T13:56:00000" VV_SPEED="35" VV_OIL_VOL="0.478" VV_ENGINE="1" />
<ROW VV_ID="394155" VV_DATE="20090701T13:56:00000" VV_SPEED="48" VV_OIL_VOL="0" VV_ENGINE="1" />
</RowData>方法:
public void delXMLProp(){
boolean first=true;
String ft="";
for (Iterator<Element> it = rows.iterator(); it.hasNext();){//此处it是RowData的子节点Row
Element vinfo = (Element)it.next();
vinfo.removeAttribute("VI_TERMINAL_ID");
vinfo.removeAttribute("VV_ACTIVESTATE");
vinfo.removeAttribute("VV_LONG");
vinfo.removeAttribute("VV_LAT");
vinfo.removeAttribute("VV_MILEAGE");
vinfo.removeAttribute("VV_TOTALMILEAGE");
vinfo.removeAttribute("VV_GASWASTAGE");
vinfo.removeAttribute("VV_TOTALGASWASTAGE");
vinfo.removeAttribute("VV_GPS");
vinfo.removeAttribute("VV_GRAPH_TYPE");
//vinfo.removeAttribute("VV_ID");
vinfo.removeAttribute("VV_OIL_VOL_DEAL");
if(first){
if(Integer.parseInt(vinfo.getAttributeValue("VV_ENGINE"))!=0){
ft=vinfo.getAttributeValue("VV_DATE");
first=false;
}else{
System.out.println("first data is invalid!remove it!");
vinfo.getParentElement().removeContent(vinfo);此处发生错误
//System.out.println(vinfo.getParentElement().getName());
//vinfo.getParentElement().removeChild(vinfo.getName());
}
}else if(Integer.parseInt(vinfo.getAttributeValue("VV_ENGINE"))==0 ||vinfo.getAttributeValue("VV_DATE")==ft){
vinfo.getParentElement().removeContent(vinfo);
//vinfo.getParentElement().removeChild(vinfo.getName());
}else{
ft=vinfo.getAttributeValue("VV_DATE");
}
}
outputXML();
}我想将文件中Engine=“0”的子节点全部剔除,请问为什么不能用removeContent(vinfo)??
解决方案 »
- springmvc+jquery easyui在IE下报的错误
- quartz 暂停后启动问题
- 跪求答案(java.net.ConnectException: Connection refused: connect)
- 关于OA项目得问题
- java中两个一维数组怎么合成一个二维数组!!!
- org.aopalliance.aop.Advice
- 求java对文件的操作
- 请教,gif动画图片缩小和放大问题
- 感觉pet store的文件结构似乎有点混乱,why?
- 求救!老是编译不过去请问有什么问题?
- 如何用java语言分析这个xml,将其中的省名保存到一个字符型数组中?
- myeclipse 自动提示功能不好用
我觉得也是 removeNode, 而不是 removeContent,
api 不记得了,但觉得应该是 node
}else if(Integer 匹配的是哪个 ifanswer:if(first){}