xml文档:
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE sonnet SYSTEM "XmlDomDemo.dtd">
<sonnet type="tfnew21">
<author>
<last-name>天烽</last-name>
<first-name>三峰</first-name>
<nationality>北国</nationality>
<year-of-birth>1980</year-of-birth>
</author>
<title>天峰个人诗集散文</title>
<text>
<line>我爱的人眼睛完全不像太阳,</line>
<line>红与她的唇相比,珊瑚更红。</line>
</text>
</sonnet>
tdt文档:
<!ELEMENT sonnet(author,title?,text)>
<!ATTLIST sonnet type(tfnew21|Petrarchan)"tfnew21">
<!ELEMENT text(line,line)>
<!ELEMENT author(last-name,first-name,nationality,year-of-birth?,year-of-death?)>
<!ELEMENT title(#PCDATA)>
<!ELEMENT last-name(#PCDATA)>
<!ELEMENT first-name(#PCDATA)>
<!ELEMENT nationality(#PCDATA)>
<!ELEMENT year-of-birth(#PCDATA)>
<!ELEMENT line(#PCDATA)>java文档:
package com.javapp.xml;
import org.apache.xerces.parsers.*;
import org.w3c.dom.*;
public class XmlDomDemo
{
    public void parseAndPrint(String uri)
    {
       Document doc=null;
try
{
  DOMParser parser=new DOMParser();
  parser.parse(uri);
  doc=parser.getDocument();
}
catch(Exception e)
{
  System.err.println("soory,an error occurred:"+e);
}
if(doc!=null)
{
  printDOMTree(doc);
}
    }
    
    public void printDOMTree(Node node)
    {
int type=node.getNodeType();
switch(type)
        {
        case Node.DOCUMENT_NODE:
        {
  System.out.println("<?xml version=\"1.0\"?>");
  printDOMTree(((Document)node).getDocumentElement());
  break;
}
}  
    }
    public static void main(String argv[])
   {
if(argv.length==0)
        {
   System.out.println("输入java文件地址和xml文档");
   argv=new String[1];
   argv[0]="XmlDemoone.xml";
        }
XmlDomDemo d1=new XmlDomDemo();
d1.parseAndPrint(argv[0]);
   }
}
编译时发生错误:
XmlDomDemo.java:12: 无法访问 org.apache.xerces.xni.parser.XMLInputSource
未找到 org.apache.xerces.xni.parser.XMLInputSource 的类文件
          parser.parse(uri);
                ^
1 错误请问是什么原因?

解决方案 »

  1.   

    public void printDOMTree(Node node) {
    if(node.getNodeValue()!=null&&!node.getNodeValue().trim().equals(""))
    System.out.println(node.getNodeValue());
    if(node.hasChildNodes())
    {
    Node thisnode = node.getFirstChild();
    printDOMTree(thisnode);
    }
    Node newnode = node.getNextSibling();
    if (newnode != null ) {
    printDOMTree(newnode);
    }
    }
    输出:
    输入java文件地址和xml文档
    天烽
    三峰
    北国
    1980
    天峰个人诗集散文
    我爱的人眼睛完全不像太阳,
    红与她的唇相比,珊瑚更红。
      

  2.   

    parser.parse(uri);
    没取到文件???
      

  3.   

    XmlDomDemo.java:12: 无法访问 org.apache.xerces.xni.parser.XMLInputSource可能的原因:xml相关的
    1.jar未导入。
    2.jar导错了。
      

  4.   

    少jar包吧~ 你检查下导入包没
      

  5.   

    是少了jar包,就用jdk6里面的包就够了。ctr+ shift +o就可以了。
      

  6.   

    应该很明显是没有导入相应的jar包!