|
以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 DOM/SAX/XPath 』 (http://bbs.xml.org.cn/list.asp?boardid=11) ---- 删除根结点下几个同名结点中的一个,如何删除?[求助] (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=23568) |
|
-- 作者:fzuqi3 -- 发布时间:10/26/2005 2:56:00 PM -- 删除根结点下几个同名结点中的一个,如何删除?[求助] 我使用Jdom,及java xml文件如下: <root> 我要删除的是id为3的book. 我可以找到id为3的book,但在使用root.removeChild(参数),
|
|
-- 作者:wqw -- 发布时间:11/2/2005 12:11:00 AM -- <HTML> <BODY> <SCRIPT LANGUAGE="JavaScript"> var xmlDoc=new ActiveXObject("microsoft.XMLDOM"); xmlDoc.async=false; xmlDoc.load("a.xml"); var root=xmlDoc.documentElement; root.removeChild(root.childNodes[2]); window.alert(root.xml); </SCRIPT> </BODY> </HTML> 这样就ok了! |
|
-- 作者:fzuqi3 -- 发布时间:11/2/2005 9:08:00 AM -- 謝謝wqw,我是在Java下做的, 現在我已經找到解決的方法的, 不過還是謝謝你! 順便說一下我做的方法: 假設我的config為我上面提到的xml字符串 InputStream fi = null; byte[] b = config.getBytes(); fi = new ByteArrayInputStream(b); SAXBuilder sb = new SAXBuilder(); Document doc = null; String outStr ="";//我的程序中用來輸出的 try { doc = sb.build(fi); } catch (JDOMException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } catch (IOException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. }finally{ fi.close; } Element root = doc.getRootElement(); List services = root.getChildren(); boolean flag = false; //标记是否已删除 for(int i=0; i<services.size(); i++){ Element service = (Element)services.get(i); if(service.getChildTextTrim("id").equalsIgnoreCase("3"){ root.removeContent(i); //刪除 flag = true; break; } } if(!flag){ //如果沒有刪除做相應的處理; }
|
|
-- 作者:wqw -- 发布时间:11/3/2005 11:57:00 PM -- 呵呵,我只是一个初学者,在你面前班门弄斧了,你有时间帮我看看我的那个问题怎么解决? 我的事列写出来了,如果你有时间的话,帮我写出个正确答案,在这里小弟先谢谢你了!! |
|
-- 作者:wqw -- 发布时间:11/4/2005 12:01:00 AM -- 用Html的java脚本写 |
|
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
58.594ms |