根据 generate 中的子标签 删除 submit 中相同的子标签
<?xml version="1.0" encoding="UTF-8"?><formats>
<generate>
<a>1</a>
<b>2</b>
<c>3</c>
</generate>
<submit>
<a>1</a>
<b>2</b>
<c>3</c>
<d>234567</d>
</submit>
<return>
<e>45</e>
<f>78</f>
<g>12</g>
<h>234567</h>
</return>
</formats>结果是:
<?xml version="1.0" encoding="UTF-8"?><formats>
<generate>
<a>1</a>
<b>2</b>
<c>3</c>
</generate>
<submit>
<d>234567</d>
</submit>
<return>
<e>45</e>
<f>78</f>
<g>12</g>
<h>234567</h>
</return>
</formats>
<?xml version="1.0" encoding="UTF-8"?><formats>
<generate>
<a>1</a>
<b>2</b>
<c>3</c>
</generate>
<submit>
<a>1</a>
<b>2</b>
<c>3</c>
<d>234567</d>
</submit>
<return>
<e>45</e>
<f>78</f>
<g>12</g>
<h>234567</h>
</return>
</formats>结果是:
<?xml version="1.0" encoding="UTF-8"?><formats>
<generate>
<a>1</a>
<b>2</b>
<c>3</c>
</generate>
<submit>
<d>234567</d>
</submit>
<return>
<e>45</e>
<f>78</f>
<g>12</g>
<h>234567</h>
</return>
</formats>
解决方案 »
- 一个数据库连接的问题
- 新手请教关于FileInputStream的问题
- 有了解portlet和widget的吗,他们之间是什么区别?
- hibernate 问题
- 有办法定时自动重启Tomcat吗?
- 如何让刷新不总执行那个xxxaction.do?
- 请问大家关于分页的问题(struts模型下)
- 如何用JAVA写不使用flash插件 如何播放flash动画
- 怎么在WEBLOGIC中显示中文
- 百思不得其解!为什么我的ejbql不能通过哦!!!
- javaee中 如果在src\sqlmap\下放了map.xml文件。在sqlSessionFactory还用定义mapperLocations吗?
- jpa和ibatis事务问题
public static void deleteXml(String bizcode, List<Node> generates,
List<Node> submits, String nodeName) {
String filename = xmlFileName(bizcode);
SAXReader reader = new SAXReader(); Document doc;
try {
doc = reader.read(filename); List listRow = doc.selectNodes(nodeName); for (int i = 0; i < generates.size() - 2; i++) {
for (int j = 0; j < submits.size() - 3; j++) {
if (generates.get(i).getName().equals(submits.get(i).getName())) {
for (Object obj : listRow) {
Element element = (Element) obj;
Element elesal = element.element(submits.get(i)
.getName());
System.out.println(elesal);
boolean remove = element.remove(elesal);
System.out.println(element);
System.out.println(remove); }
}
} } XMLWriter writer = new XMLWriter(new FileWriter(filename));
writer.write(doc);
writer.flush();
writer.close();
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
删除不了啊,但控制台已经返回true,但实际并没有删除。
SAXReader reader = new SAXReader();
Document document = reader.read(Test.class
.getResourceAsStream("c.xml"));
List<Node> generates = document.selectNodes("//formats/generate/*");
List<Node> submits = document.selectNodes("//formats/submit/*");
for (Node node : generates) {
for (Node nodeSubmit : submits) {
if (node.getName().equals(nodeSubmit.getName())
&& node.getText().equals(nodeSubmit.getText())) {
document.getRootElement().element("submit").remove(nodeSubmit);
}
}
} XMLWriter writer = new XMLWriter(new FileWriter("d:\\output.xml"));
writer.write(document);
writer.close();
}
for (int i = 0; i < generates.size(); i++) {
for(Object ob:list){
Element personElement=(Element) ob;
// personElement.remove(personElement.selectSingleNode("TranCode"));
personElement.remove(personElement.selectSingleNode(generates.get(i).getName()));
}
}
但还是要谢谢你。