使用Jdom读取XML是非常简单的,感谢Jdom团队。
首先下载Jdom的jar包,可以去官方网站下,下载后找到jdom.jar这个包,里面包含了所有需要用到的类和函数,把这个类包含到classpath里面,如果是JSP的话放在web应用的lib文件夹下。
我们先来看xml的结构,我写的这个xml是这样的(放在c盘根目录):
XML代码, 代码高亮@代码发芽网
<book>
<author>Dave Crane</author>
<bookname>Ajax In Action</bookname>
</book></books>
<book>
<author>Ryan Asleson</author>
<bookname>Foundations of Ajax</bookname>
</book>
对它操作的java程序是这样的:
Java代码, 代码高亮@代码发芽网
import org.jdom.*;
import org.jdom.input.SAXBuilder;
public class readxml{
public static void main(String[] args) throws Exception{
SAXBuilder sb=new SAXBuilder();
Document doc=sb.build("book.xml");
Element root=doc.getRootElement();
List list=root.getChildren("book");
for(int i=0;iElement element=(Element)list.get(i);
String author=element.getChildText("author");
String bookname=element.getChildText("bookname");
System.out.println("Book Info:");
System.out.println("Bookname:《"+bookname+"》");
System.out.println("Bookauthor:"+author);
System.out.println("==========================");
}
}
}
其中
Java代码, 代码高亮@代码发芽网
是读取一个xml文档,
Java代码, 代码高亮@代码发芽网
是读取根节点。
编译运行后的结果:
如果把这些代码转换成JSP也同样非常简单:
Java代码, 代码高亮@代码发芽网
This is a test page.<%
SAXBuilder sb=new SAXBuilder();
Document doc=sb.build("c:\\book.xml");
Element root=doc.getRootElement();
List list=root.getChildren("book");
for(int i=0;i
Element element=(Element)list.get(i);
String author=element.getChildText("author");
String bookname=element.getChildText("bookname");
out.print("Book Info:");%>
<%out.print("Bookname:《"+bookname+"》");%>
<%out.print("Bookauthor:"+author+"");%>
<%out.print("============================");%>
<%}
%>
运行的结果是:
本文所示源文件都可以到本站进行下载。
不知道为什么你这儿使用的效果不是非常好,看到空格都被吃掉了,其中的for循环里面的小于号还造成了结果混乱。可以的话能不能来信告知一下你用的是什么blog系统?什么编辑器?这样便于修正这个问题。谢谢。
另,已经把你的blog加到:http://www.fayaa.com/code/who/
@fayaa 呵呵,此时不必介怀,我这里出现这种情况是有原因的。
我从前用过一个插件叫做coolcode,是wordpress的代码高亮插件,后来我发现从coolcode里面复制源代码的时候,它前面加上了序号和#,导致代码无法直接使用,所以我就准备放弃。后来我找其他的高亮插件的时候,发现了你们的这个网站,我很喜欢,你们做的很棒,然后我就把原来coolcode的那些代码都转到你们那里生成了一下,你说的那些问题都是在这一步生成的,和你们的程序没什么直接的关系,也就是说在转换成你们的代码的时候就已经是这个样子了。
我第一次用你们的系统,很多地方还不太熟悉,其中出现的那些错误我也就没有一个一个的纠正,最近也比较忙,没有时间管理。
另外,我的博客用得wordpress 2.5.1。
我会继续使用你们的服务的,真的非常棒!
也谢谢你给我的留言。
@老杨 呵呵原来如此