新手求救——关于DOM

说好不能打脸
Java领域优质创作者
博客专家认证
2005-03-03 08:33:59
最近刚开始学XML,看得一头雾水,小弟写了一段代码,大致如下(只保留了关键部分)

import java.io.File;
import java.io.FileWriter;
import java.io.Writer;
import java.io.FileNotFoundException;

import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.DOMException;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.Text;

import org.apache.xerces.dom.DOMImplementationImpl;//解析器
public class Test6 {
private Attr myAttr;//元素属性
private Document xmlDoc;//文档对象
private Element myElement,tempElement;//文档元素
private Node myNode;//节点对象
private Text myText;//该对象表示文档中的元素的内容
public Test6(){
/*初始化新建立的xml文档*/
DOMImplementationImpl domParser = new DOMImplementationImpl();
/**
* 以下代码建立一个新的xml树
* */
xmlDoc = domParser.createDocument(null,"table",null);

myElement = xmlDoc.getDocumentElement();//返回当前指向节点
myAttr = this.xmlDoc.createAttributeNS("id","1");
myElement.setAttributeNode(myAttr);//这两句设置了元素的一个属性

tempElement = xmlDoc.createElement("tr");
myText = this.xmlDoc.createTextNode("rktkreto");
this.myElement.appendChild(tempElement);
}

public static void main(String[] src){
new Test6();
}
}

用到的解析器是:org.apache.xerces.dom.DOMImplementationImpl;
在"DOMImplementationImpl domParser = new DOMImplementationImpl();"报错,错误提示:

java.lang.NoClassDefFoundError: org/apache/xerces/dom/DOMImplementationImpl
at xml.Test6.<init>(Test6.java:39)
at xml.Test6.main(Test6.java:66)
Exception in thread "main"

那位大哥救救我,还有一个问题:如何将一个修改好的dom树生成一个xml文档,好像要用到串行化,但怎么用呢?
...全文
186 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
这个是sun代的,我现在用的是org.w3c的,可不可以用这种方式帮我写段代码??
谢谢
  • 打赏
  • 举报
回复
jinxfei 2005-03-05
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
doc = db.parse(docFile);
  • 打赏
  • 举报
回复
jinxfei 2005-03-05
javax.xml.parsers.DocumentBuilderFactory
这个类是java标准类。

  • 打赏
  • 举报
回复
xml是文本型的,生成的时候先用生成文本的方法,然后操作用dom就可以了
  • 打赏
  • 举报
回复
谢谢楼上的各位,
请问jinxfei(jinxfei) 我没有找到产生工厂啊,请问在那个包里面啊??
我看了一下书上的例子,刚刚查阅了一些资料,真是大相径庭:书上的例子是直接示例化解析器,而一些资料上甚至就连解析器都没有就开始操作doc了,唉,误人子弟啊!!
  • 打赏
  • 举报
回复
jinxfei 2005-03-03
一般解析器都不是直接初始化的,都通过factory来生成吧。

至于写出到xml,好像有一写免费代码,好像叫xmlWriter什么的。
  • 打赏
  • 举报
回复
发帖
Java EE

6.7w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
帖子事件
创建了帖子
2005-03-03 08:33
社区公告
暂无公告