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

Tomcat4 2002-03-08 03:29:14
请大虾讲一下DOM的原理、配置和API的使用方法!
谢谢大虾指教,最好有源程序!
e-mail:iamxuefeng@sina.com
...全文
23 点赞 收藏 7
写回复
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
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告