标题:关于DOM解析XML问题
只看楼主
linlingyue
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-8-10
 问题点数:0 回复次数:6 
关于DOM解析XML问题

我从网上找了一个DOM解析XML的程序,程序基本理解了,就是没有测试成功,我不知道XML应该放在什么地方才可以读取,希望大家给指点一下,我把代码拿出来共享一下:

package com.lly.test;

import javax.xml.parsers.*;
import java.io.*;
import org.w3c.dom.*;
import org.xml.sax.*;
/*
* XML范例
* <?xml version="1.0" encoding="gb2312"?>
  
  <books>
  
  <book email="zhoujunhui">
  
  <name>rjzjh</name>
  
  <price>jjjjjj</price>
  
  </book>
  
  </books>
*/

public class DomParseXml
{
public DomParseXml()
{
DocumentBuilderFactory objDBF = DocumentBuilderFactory.newInstance() ;

try
{
DocumentBuilder objDB = objDBF.newDocumentBuilder();
InputStream objIS = new FileInputStream( "bin/libary.xml" );
Document objD = objDB.parse( objIS );

Element objE = objD.getDocumentElement();
NodeList objNL = objE.getChildNodes() ; // 节点的集合

if ( objNL != null )
{
for ( int i =0 ; i < objNL.getLength() ; i ++ )
{
Node objN = objNL.item( i );

if ( objN.getNodeType() == Node.ELEMENT_NODE )
{
String strEmail = objN.getAttributes().getNamedItem( "email" ).getNodeValue();
System.out.println( "email--->" + strEmail );

for ( Node objSN = objN.getFirstChild() ; objSN != null ; objSN = objSN.getNextSibling() )
{
if ( objSN.getNodeType() == Node.ELEMENT_NODE )
{
if ( objSN.getNodeName().equals( "name" ))
{
String strName = objSN.getNodeValue() ;

String strNName = objSN.getFirstChild().getNodeValue();

System.out.println( "strName--->" + strName );
System.out.println( "strNName--->" + strNName );
}

if (objSN.getNodeName().equals( "price" ))
{
String strPrice = objSN.getNodeValue() ;
System.out.println( "strPrice-->" + strPrice );
}
}
}
}
}
}
}
catch ( ParserConfigurationException e )
{
e.printStackTrace();
}
catch(IOException e)
{
e.printStackTrace();
}
catch(SAXException e)
{
e.printStackTrace();
}
}

public static void main(String args[])
{
new DomParseXml();
}

}

搜索更多相关主题的帖子: DOM XML import xml 
2007-08-10 14:31
linlingyue
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-8-10
得分:0 
自己顶一下

今天的辛苦,为了明天的不辛苦
2007-08-10 14:31
linlingyue
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-8-10
得分:0 

InputStream objIS = new FileInputStream( "bin/libary.xml" );

是读取XML的,但是我不知道这个XML应该放在什么地方?是放在TOMCAT的bin下吗?


今天的辛苦,为了明天的不辛苦
2007-08-10 14:38
linlingyue
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-8-10
得分:0 
大家给帮帮忙,谢谢啦~

今天的辛苦,为了明天的不辛苦
2007-08-10 15:03
linlingyue
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-8-10
得分:0 
这么久了,没有人帮我解决吗?

今天的辛苦,为了明天的不辛苦
2007-08-15 17:41
ayue222
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:341
专家分:0
注 册:2007-7-25
得分:0 
...在这个文件同级的子目录bin下 ....相对路径的使用而已 ....
2007-08-17 11:54
ayue222
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:341
专家分:0
注 册:2007-7-25
得分:0 
还有 ...貌似需要http://这样的格式才能正确读取到 ....
2007-08-21 17:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-161736-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.121608 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved