JAXP---
    /**
     *  根据文件路径建立DOM Document对象。
     *
     *@param  name           文件名
     *@return                org.w3c.dom.Document
     *@exception  Exception  打开文件出错时抛出
     */
    public final static org.w3c.dom.Document getDocument( String name )
                                     throws Exception
    {
            String uri = "file:" + new File( name ).getAbsolutePath();            // 使用JAXP作为解析器
            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
            javax.xml.parsers.DocumentBuilder db = dbf.newDocumentBuilder();
            org.w3c.dom.Document document = db.parse( uri );
            return document;
    }

解决方案 »

  1.   

    JDOM---
        /**
         *  取得对应指定名称文件的DOM文档对象
         *
         *@param  name                     XML文件名称。
         *@return                          org.jdom.Document
         *@throws  java.io.IOException
         *@throws  org.jdom.JDOMException
         */
        public org.jdom.Document getJDOMDocument( java.lang.String name )
                                          throws java.io.IOException,
                                                 org.jdom.JDOMException
        {
            String uri = "file:" + new File( name ).getAbsolutePath();        // 取文档对象
            //org.jdom.input.DOMBuilder builder = new org.jdom.input.DOMBuilder();
            org.jdom.input.SAXBuilder builder = new org.jdom.input.SAXBuilder();
            org.jdom.Document document = builder.build( new File( name ) );        return document;
        }
      

  2.   

    关于写详见http://www.csdn.net/Expert/TopicView1.asp?id=722635
      

  3.   

    用 jaxp
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.DocumentBuilder;
    import org.xml.sax.InputSource;
    import org.w3c.dom.Element;
    import org.w3c.dom.Document;
    import org.w3c.dom.NodeList;
    import org.w3c.dom.Node;
    import org.w3c.dom.Text;Document doc = null;
    Element root = null;
    IputSource xmlInp = new InputSource(urlStr.openStream());DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder parser = docBuilderFactory.newDocumentBuilder();
    doc = parser.parse(xmlInp);
    //取得XNL文档的根element
    root = doc.getDocumentElement();
    root.normalize();
    //下面就解析文档
    取得Node的类型和属性值
      

  4.   

    关注中!
    我看各位楼上的大哥用的都是固定XML文档的处理方式,如果XML文档是动态生成的呢?那就没有了文件名啊,怎么导入??
      

  5.   

    1、ECS或其它途径生成XML串--必须符合XML文件规范。
    2、解析时不使用db.parse( uri );,用db.parse( xmlString);
      

  6.   

    我曾经做过一个动态产生xml文件的。把生成的文件名和基本结构放在一个专门的xml文件里,每次调用再去找。你说的把JAVA将XML格式的查询语句翻译为标准SQL语句我很感兴趣,有什么思路也告诉我一下。我还有个jsp创建xml(有insert、update、delete\query)需要的话给我信箱
      

  7.   

    读links.xml的原码:package xmlwriter;
    import javax.xml.parsers.*;
    import org.w3c.dom.*;
    import java.io.*;
    public class xmldisplay {
    public static void  main(String args[]){
      try{
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder=factory.newDocumentBuilder();
        Document doc=builder.parse(new File("d:/20025241111.xml"));
        NodeList links =doc.getElementsByTagName("link");
        for (int i=0;i<links.getLength();i++){
          Element link=(Element) links.item(i);
          System.out.print("Content: ");
          System.out.println(link.getElementsByTagName("text").item(0).getFirstChild().getNodeValue());
          System.out.print("URL: ");
          System.out.println(link.getElementsByTagName("url").item(0).getFirstChild().getNodeValue());
          System.out.print("Author: ");
          System.out.println(link.getElementsByTagName("author").item(0).getFirstChild().getNodeValue());
          System.out.print("Date: ");
          Element linkdate=(Element) link.getElementsByTagName("date").item(0);
          String day=linkdate.getElementsByTagName("day").item(0).getFirstChild().getNodeValue();
          String month=linkdate.getElementsByTagName("month").item(0).getFirstChild().getNodeValue();
          String year=linkdate.getElementsByTagName("year").item(0).getFirstChild().getNodeValue();
          System.out.println(day+"-"+month+"-"+year);
          System.out.print("Description: ");
          System.out.println(link.getElementsByTagName("description").item(0).getFirstChild().getNodeValue());
          System.out.println();
        }
      }catch(Exception e){
        e.printStackTrace();
      }}
    }links.xml源码:
    <?xml version="1.0" encoding="GBK"?>
    <links>   
      <link>     
        <text>JSP Insider</text>
        <url newWindow="no">http://www.jspinsider.com</url>
        <author>JSP Insider</author>
        <date>
          <day>2</day>
          <month>1</month>
          <year>2001</year>
        </date>
        <description>A JSP information site.</description>
      </link>
      <link>
        <text>The makers of Java</text>
        <url newWindow="no">http://java.sun.com</url>  
        <author>Sun Microsystems</author>   
        <date>     
          <day>3</day>
          <month>1</month>
          <year>2001</year>
        </date>
        <description>Sun Microsystem's website.</description>
      </link>
      <link>
        <text>The standard JSP container</text>
        <url newWindow="no">http://jakarta.apache.org</url>
        <author>Apache Group</author>
        <date>
          <day>4</day>
          <month>1</month>
          <year>2001</year>
        </date>
        <description>Some great software.</description>
      </link>
    </links>
      

  8.   

    我上面的文件名错了,
    Document doc=builder.parse(new File("d:/20025241111.xml"));
        改为
    Document doc=builder.parse(new File("d:/links.xml"));