如何在JSP中读取、显示和存储XML文件!先用DOM,谢谢!(100分哦!)

Tomcat4 2002-03-08 03:29:14
请大虾讲一下DOM的原理、配置和API的使用方法!
谢谢大虾指教,最好有源程序!
e-mail:iamxuefeng@sina.com
...全文
58 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Realot_11 2002-03-11
  • 打赏
  • 举报
回复
To:tomcat4
关于树形结构的JavaBean的问题请见下面地址
http://www.csdn.net/expert/topic/563/563870.xml?temp=.6371729
谢谢

zosatapo 2002-03-10
  • 打赏
  • 举报
回复
下面是我测试使用的XML文档:
<?xml version="1.0" standalone="yes"?>
<GREETING id="test">
zostapo1
zosayapo2 wwww wwww
<person>
Reic Yang
</person>
ddddddddddddddddddddddddddddd
</GREETING>
zosatapo 2002-03-10
  • 打赏
  • 举报
回复
方法最好自己找书看了,而且sun网站有文档下载。首先你要对DOM了解,这个我建议你看微软的XML开发包带的手册。因为DOM是标准,大家都一样。

我这写有一个很简单的例子,希望对你有帮助。
import java.io.*;
import java.lang.*;
import javax.xml.parsers.*;
import org.xml.sax.*;
import org.w3c.dom.*;
class txml
{
private static final String FILE_PATH="txml.xml";
private Document doc=null;
private DocumentBuilder docb=null;
private DocumentBuilderFactory docbf=null;
private Element root=null;
public void loadDocument(String filename)
{
try
{
docbf=DocumentBuilderFactory.newInstance();
docb=docbf.newDocumentBuilder();
doc=docb.parse(new File(filename));
root=doc.getDocumentElement();
}
catch(ParserConfigurationException e){e.printStackTrace();}
catch(SAXException e){e.printStackTrace();}
catch(IOException e){e.printStackTrace();}
}

public void loadDocument()
{
loadDocument(FILE_PATH);
}
public Element getRoot()
{
return root;
}
public Document getDoc()
{
return doc;
}
public static void spaces(int depth)
{
//print prefix space to show level
for(int d=0;d<depth;d++)
{
System.out.print(" ");
}
//System.out.println();
}

public static void printTree(Node root,int depth)
{
System.out.println();
//print attributes
if(root.hasAttributes())
{
spaces(depth);
System.out.println("******Node Attributes List******");
NamedNodeMap namednodemap=root.getAttributes();
for(int a=0;a<namednodemap.getLength();a++)
{
spaces(depth);
System.out.println("Attribute Name: "+namednodemap.item(a).getNodeName()
+" Attribute Value: "+namednodemap.item(a).getNodeValue());
}
}

//print nodes
NodeList nodelist=root.getChildNodes();
spaces(depth);
System.out.println("******Node ChildNodes List******");
spaces(depth);
System.out.println("Nodes Total:"+nodelist.getLength());
for(int n=0;n<nodelist.getLength();n++)
{
Node node=nodelist.item(n);

spaces(depth);
System.out.print("Node Type :"+node.getNodeType());
System.out.print(" Node Name :"+node.getNodeName());
if(node.getNodeType()!=1)
{
System.out.print(" Node Value :"+node.getNodeValue());
}
System.out.println();

if(node.getNodeType()==1)
{
printTree(node,depth+1);
}
}
System.out.println();
}
public static void main(String args[])
{
txml t=new txml();
if(args.length!=1)
{
t.loadDocument();
}
else
{
t.loadDocument(args[0]);
}
Document doc=t.getDoc();
//System.out.println(doc.getChildNodes().getLength());
Element root=t.getRoot();
root.normalize();
System.out.println("+++++++++++++++++++++++++++++++++");
System.out.println("+ Node List Sample +");
System.out.println("+++++++++++++++++++++++++++++++++");
printTree(root,0);
}
}
Tomcat4 2002-03-10
  • 打赏
  • 举报
回复
谢谢!
还有人re吗?
Tomcat4 2002-03-09
  • 打赏
  • 举报
回复
路人甲师兄能指教一下吗,谢谢!
java_jin 2002-03-08
  • 打赏
  • 举报
回复
我也要,jin_21@sin.com
new_fox_wolf 2002-03-08
  • 打赏
  • 举报
回复
使用xsl

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧