|
热门文章
推荐文章
最新文章
|
JSP与XML的结合<3>(6)
原作者:kuku 添加时间:2007-06-02 原文发表:2007-06-02 人气:5 来源:互联网
本文章共4522字,分7页,当前第6页,快速翻页:
|
前面说过,当遇到一个开始标签的时候,在startElement()方法中,我们并不能够得到这个标签在XML文档中所处的位置。这在处理XML文档的时候是个大麻烦,因为在XML中标签的语义,有一部分是由其所处的位置所决定的。而且在一些需要验证文档结构的程序中,这更是一个问题。当然,没有解决不了的问题了,我们可以使用一个栈来实现对文档结构的纪录。
栈的特点是先进先出,我们现在的想法是,在startElemnt()方法中用push将这个标签的名字添加到栈中,在endElement()方法中在把它pop出来。我们知道对一个结构良好的XML而言,其嵌套结构是完备的,每一个开始标签总会对应一个结束标签,而且不会出现标签嵌套之间的错位。因而,每一次startElement()方法的调用,必然会对应一个endElement()方法的调用,这样push和pop也是成对出现的,我们只需要分析栈的结构,就可以很容易的知道当前标签所处在文档结构中的位置了。
public class SAXReader extends DefaultHandler {
Java.util.Stack tags=new Java.util.Stack();
…… |
在这儿虽然没有使用到栈的分析,但实际上栈的分析是一件很容易的事情,应为Java.util.Stack继承了Java.util.Vector类,而且Stack中的元素是按栈的结构由底至上排列的,因个,我们可以使用Vector类的size()方法来得到Stack的元素个数,还可以使用Vector的get(int)方法来得到具体的每一个元属。实际上,如果把Stack的元素从底向上逐一排列出来,我们就得到了从XML根节点到当前节点的一条唯一的路径,有了这条路径的信息,文档的结构就在清楚不过了。 本文章更多内容:<<上一页 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 下一页>> |
 本文章所属分类: 首页
→ 推荐教程
JSP编程
|
文章搜索
|