当前位置: 代码迷 >> Java相关 >> JAVA的Applet问题
  详细解决方案

JAVA的Applet问题

热度:395   发布时间:2005-08-14 15:56:00.0
JAVA的Applet问题

//请教大家下面是JAVA,本人想把XML 导入里面 package books; import org.w3c.dom.*; import javax.xml.parsers.*; import java.net.URI; import java.io.*; import java.applet.*;

public class BookDetails extends Applet{ public void init(){ Document doc=null; try{ DocumentBuilderFactory.newInstance(); DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); DocumentBuilder db=dbf.newDocumentBuilder(); doc=db.parse(new File("b.xml")); String nm="http://www.123books.com/booktitles"; String local="a"; String ob="http://www.onlinebooks.com"; System.out.println(nm+"名字空间的元素"); NodeList nl=doc.getElementsByTagNameNS(nm,"*"); for(int i=0;i<nl.getLength();i++) { //System.out.println("第一个FOR"); Node n=nl.item(i); System.out.println(n.getNodeName()); } System.out.println("\n名称为"+ob+"中的属性/。。。"); nl=doc.getElementsByTagName("*"); for(int i=0;i<nl.getLength();i++) { if(nl.item(i)instanceof Element){ Text t=(Text)nl.item(i).getFirstChild(); Element e=(Element)nl.item(i); //System.out.println("第二个FOR"); Attr a=e.getAttributeNodeNS(ob,"class"); if(a!=null){ String val=a.getNodeValue(); System.out.println("<"+val+">"+t.getNodeValue()+"</"+val+">"); } } } } catch(Exception e) { System.out.println("异常"+e.getMessage()); e.printStackTrace(); } } } //下面是XML <?xml version="1.0" encoding="gb2312"?> <BookDetails> <book xmlns="http://www.123books.com/booktitles"> <title price="$69">《Java编程思想》</title> <chapter title="网络编程"> <author title="Mr." name="Bruce Eckel"/>

</chapter> </book>

<order xmlns:html="http://www.onlinebooks.com"> <name html:class="H1">斯科特.猥陋秘书</name> <payment type="credit" html:class="H3">已和就</payment> <html:a href="">/java/prejksaf</html:a> <data location="Atlanta" html:class="H3">2003,年3月21日</data> </order> </BookDetails> /下面是HTML <applet code="BookDetails"></applet> 但是编译不起来 请问错误在什么地方啊

搜索更多相关的解决方案: JAVA  Applet  import  dbf  java  

----------------解决方案--------------------------------------------------------
补充XML 的文件名是b.xml

----------------解决方案--------------------------------------------------------
你的html 文件显然是有问题的,
修改如下:
&lt;html&gt;
  &lt;head&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;applet code = "BookDetails.class" height="200" width="200"&gt;
    &lt;/applet&gt;
  &lt;/body&gt;
&lt;/html&gt;

编译能够通过,不过执行时还有问题。还是哪里有问题。
----------------解决方案--------------------------------------------------------

//谢谢布衣啊------我修改了一下还不行请看一下 import org.w3c.dom.*; import javax.xml.parsers.*; import java.net.URI; import java.io.*; import java.applet.*; import javax.swing.*; import java.awt.*;

public class BookDetails extends Applet{ JLabel jbl; JLabel jb2; JPanel jp; public void init(){ jbl=new JLabel(); jb2=new JLabel(); jp=new JPanel(); Document doc=null; try{ DocumentBuilderFactory.newInstance(); DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); DocumentBuilder db=dbf.newDocumentBuilder(); doc=db.parse(new File("b.xml")); String nm="http://www.123books.com/booktitles"; String local="a"; String ob="http://www.onlinebooks.com"; System.out.println(nm+"名字空间的元素"); NodeList nl=doc.getElementsByTagNameNS(nm,"*"); for(int i=0;i<nl.getLength();i++) { //System.out.println("第一个FOR"); Node n=nl.item(i); System.out.println(n.getNodeName()); } System.out.println("\n名称为"+ob+"中的属性/。。。"); nl=doc.getElementsByTagName("*"); for(int i=0;i<nl.getLength();i++) { if(nl.item(i)instanceof Element){ Text t=(Text)nl.item(i).getFirstChild(); Element e=(Element)nl.item(i); //System.out.println("第二个FOR"); Attr a=e.getAttributeNodeNS(ob,"class"); if(a!=null){ String val=a.getNodeValue(); jbl.setText(a.getNodeValue()); System.out.println("<"+val+">"+t.getNodeValue()+"</"+val+">"); jb2.setText("<"+val+">"+t.getNodeValue()+"</"+val+">"); jp.add(jbl); jp.add(jb2); this.add(jp); } } } } catch(Exception e) { System.out.println("异常"+e.getMessage()); e.printStackTrace(); } } }


----------------解决方案--------------------------------------------------------
  相关解决方案