当前位置:  技术问答>java相关

如何在一个DOM中更新一个节点或者一部分节点

    来源: 互联网  发布时间:2015-09-15

    本文导语:  写了一个程序,想在一个DOM dataDoc中,更新一部分节点,但是输出结果不对 请教各位高手 // 程序清单 package test; import java.io.*; import java.sql.*; import java.util.*; import org.w3c.dom.*; import javax.xml.parsers.*; import javax.xm...

写了一个程序,想在一个DOM dataDoc中,更新一部分节点,但是输出结果不对
请教各位高手


// 程序清单
package test;


import java.io.*;
import java.sql.*;
import java.util.*;

import org.w3c.dom.*;
import javax.xml.parsers.*;

import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;


public class UpdateDocument
{
  public static void main(String[] args)
  {
    Document dataDoc = null;
    Element dataRoot = null;

    Document updateDoc = null;
    Element updateRoot = null;
    
    try 
    {
      DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
      DocumentBuilder docBuilder = dbFactory.newDocumentBuilder();
         
      dataDoc  = docBuilder.newDocument();
      dataRoot = dataDoc.createElement("root");      
      
      Element aNode = dataDoc.createElement("AAA");
      Element bNode = dataDoc.createElement("BBB");
      
      dataRoot.appendChild(aNode);
      dataRoot.appendChild(bNode);
      
      dataDoc.appendChild(dataRoot);
      
      updateDoc  = docBuilder.newDocument();
      updateRoot = updateDoc.createElement("CCC");
      
      updateDoc.appendChild(updateRoot); 
      
      dataDoc.getDocumentElement().removeChild(aNode);
      System.out.println(dataDoc.getDocumentElement().toString());
      dataDoc.getDocumentElement().appendChild(updateDoc);
      System.out.println(dataDoc.getDocumentElement().toString());      
      
      
    }
    catch (Exception ex)
    {
    
    }
  }
}


// 输出结果如下:


我不理解,为什么后面appendChild(updateDoc)后,什么都打印不出来了呢?

请高手指点,谢谢

|
you can get the tag name of the oDoc.oRoot, then use dataDoc.getElementsByTagName to get those nodes in dataDoc and remove them,...

|
1. removeChild must be called on a direct parent
2. you cannot just add a node from one document to another document, you need to use importNode

see the errors with

catch (Exception ex)
{
   ex.printStackTrace(); 
}

    
 
 

您可能感兴趣的文章:

  • jQuery的DOM操作之删除节点示例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.xml.xpath类xpathconstants成员方法: dom_object_model定义参考
  • IE浏览器插件 IE DOM Inspector
  • java命名空间javax.xml.transform.dom类domsource成员方法: getnode定义参考
  • 做过DOM上LINUX开发的请进
  • java命名空间javax.xml.transform.dom类domsource成员方法: domsource定义参考
  • jQuery Virtual DOM Events Plugin
  • java命名空间javax.xml.transform.dom类domsource成员方法: getsystemid定义参考
  • 如何将linux嵌入到DOM电子盘中?
  • java命名空间javax.xml.transform.dom类domsource成员方法: setsystemid定义参考
  • 怎么把Linux安装到Dom盘中去
  • java命名空间javax.xml.transform.dom接口domlocator成员方法: getoriginatingnode定义参考
  • XML操作库 dom4j
  • java命名空间javax.xml.transform.dom类domresult成员方法: getnode定义参考
  • Star-Wars-Attack-of-the-DOM
  • java命名空间javax.xml.crypto.dom接口domurireference的类成员方法: gethere定义及介绍
  • x3dom
  • java命名空间javax.xml.transform.dom类domresult成员方法: setsystemid定义参考
  • 30分!求用DOM对象创建一个名为productinfo的XML文件productinfo.xml?给出源码。
  • java命名空间javax.xml.transform.dom类domsource成员方法: feature定义参考
  • 关于dom的简单问题
  • java命名空间javax.xml.crypto.dsig.dom类domvalidatecontext的类成员方法: getnode定义及介绍
  • 我希望在applet里使用dom怎么办?浏览器能够支持吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3