当前位置:  技术问答>java相关

给多少是多呢?(关于JAXP的访问XML节点的初级问题)

    来源: 互联网  发布时间:2015-06-02

    本文导语:  我在JDK1.4下弄了一个东西: import java.io.*; import org.w3c.dom.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; public class ParseXmlTree {   DocumentBuilderFactor...

我在JDK1.4下弄了一个东西:
import java.io.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

public class ParseXmlTree
{
  DocumentBuilderFactory factory=DocumentBuilderFactory.newInstace();
  DocumentBuilder builder=factory.newDocumentBuilder();
  Document doc=builder.parse("test.xml");
  doc.normalize();

  //取得根节点
  Element root=new Element();
  root=doc.getDocumentElement();
  System.out.println(root);
}

我的XML文档名为text.xml在它同一目录下.
我首先想问的是我导入的类有没有错?
另外为了证明我取得的根节点正确,我想把它输出好让我看一看,我该怎么弄?我的ROOT那个地方设的对吗?
请问,JB6里是不是集成了JAXP?在那可以写这些吗?有没有向导?

谢谢各位!

|


JSPㄏノXMLㄒ肈














_______________________________________
//==================== SAXHandler.java ======================
import java.io.*;
import java.util.Hashtable;
import org.xml.sax.*;
public class SAXHandler extends HandlerBase
  {
  private Hashtable table = new Hashtable();
  private String currentElement = null;
  private String currentValue = null;
  public void setTable(Hashtable table)
    {
    this.table = table;
    }
  public Hashtable getTable()
    {
    return table;
    }
  public void startElement(String tag, AttributeList attrs)
  throws SAXException
    {
    currentElement = tag;
    }
  public void characters(char[] ch, int start, int length)
  throws SAXException
    {
    currentValue = new String(ch, start, length);
    }
  public void endElement(String name) throws SAXException
    {
    if (currentElement.equals(name))
      table.put(currentElement, currentValue);
    }
  }

_________________________
//=================== XmlTest.java ===========================
import java.io.*;
import java.util.Hashtable;
import java.util.Enumeration;
import org.w3c.dom.*;
import org.xml.sax.*;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.parsers.SAXParser;
public class XmlTest
  {
  public static void main (String argv []) throws IOException
    {
    if (argv.length!=1)
      {
      System.err.println ("USAGE: java XmlTest filename");
      System.exit(1);
      }
    try
      {
      //String xmlResource = "file:" + new File(argv[0]).getAbsolutePath();
      String filename = argv[0];
      File file = new File(filename);
      FileReader reader = new FileReader(file);
      Parser parser;
      SAXParserFactory spf = SAXParserFactory.newInstance();
      SAXParser sp = spf.newSAXParser();
      SAXHandler handler = new SAXHandler();
      sp.parse(new InputSource(reader), handler);
      Hashtable cfgTable = handler.getTable();
      System.out.println("ID == " +
        (String)cfgTable.get(new String("ID")));
      System.out.println("DESCRIPTION == " +
        (String)cfgTable.get(new String("DESCRIPTION")));
      System.out.println("PRICE == " +
        (String)cfgTable.get(new String("PRICE")));
      System.out.println("QUANTITY == " +
        (String)cfgTable.get(new String("QUANTITY")));
      }
    catch (Exception e)
      {
      e.printStackTrace();
      }
    System.exit(0);
    }
  }


|
关于jaxp的sax,dom,程序员2001有一期(记得是蓝面子)讲的比较好,建议看一下.
JB6是集成了JAXP.没有向导.

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • jaxp的问题
  • 请教一个jaxp的问题(概念澄清)
  • 怎样配置jaxp?
  • 菜鸟提问:关于用JAXP的配置
  • 如何配置XML解析器?我用的是SUN的JAXP1.2。
  • JAXP数据验证引擎 Serene
  • jaxp的迷惑!! NoClassDefFoundError!
  • 那里有利用JAXP 1.2处理XML(基于XML Schema,而不是DTD)的JAVA程序例子!!! 200分!!!
  • JAVA平台标准组件 JAXP
  • 征求SAX、DOM、JAXP等关于JAVA & XML的资料(近5000可用分欲送出,来要分吧!NO.1)
  • 征求SAX、DOM、JAXP等关于JAVA & XML的资料(近5000可用分欲送出,来要分吧!NO.2)
  • 请问各位:我用SUN公司的JAXP开发包解析XML文档,可不知道对XML解析后如何将结果写回文件中。请各位熟悉Java和XML的高手帮忙。
  • 怎样用JAXP高效的比较两个XML文档是否内容相同?急!!有价值必给分!!!
  • 求助:使用jaxp中的dom接口解析xml文件时出现错误(不会迟于5月23日结账)
  • 我下载ant,设置好了PATH,ANT_HOME,但一运行就报错Provider org.apache.crimson.jaxp.SAXParserFactoryImpl could not be instantiated
  • 为什么用JAXP读取不到XML元素的内容?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3