唉!还真是麻烦不断俄,又有问题了,不知道为什么会符号错误!这书上的源代码都有毛病吗?
<?xml  version="1.0"  encoding="utf-8"?>
<! DOCTYPE   车  SYSTEM  "dtdFile.dtd">
<>
<汽车  车牌="汽 A1234567">交通工具</汽车>
<驴车  车牌="驴 A7654321">农用车</驴车>
</>
dtd文件:
<!ELEMENT  车  (汽车*,驴车*)>
<!ELEMENT  汽车(#PCDATA)>
<!ATTLIST   汽车  车牌 CDATA  #REQUIRED>
<!ELEMENT  驴车(#PCDATA)>
<!ATTLIST   驴车  车牌 CDATA  #IMPLIED>
java解析器:
import javax.xml.parsers.*;
import org.xml.sax.helpers.*;
import org.xml.sax.*;
import java.io.*;

public class testone
{
    
public static void main(String args[]){
        
try{
            SAXParserFactory factory
=SAXParserFactory.newInstance();
            factory.setValidating(
true);
            factory.setNamespaceAware(
true);
            SAXParser saxParser
=factory.newSAXParser();
            MyHandler handler
=new MyHandler();
            saxParser.parse(
new File("car.xml"),handler);
        }

        
catch(Exception e){System.out.println(e);}
    }

}


   
class MyHandler  extends DefaultHandler
   
{
       
public void startElement(String uri,String localName,String qName,Attributes atts){
           System.out.print(
"<"+localName+">");
           System.out.println(
"该标记的属性:");
           
for(int k=0;k<atts.getLength();k++){
               System.out.print(
"属性名称:");
               System.out.print(atts.getLocalName(k)
+"  ");
               System.out.print(
"属性类型:");
               System.out.print(atts.getType(k)
+"  ");
               System.out.print(
"属性的值:");
               System.out.print(atts.getValue(k)
+"  ");
           }

       }

       
public void endElement(String uri,String localName,String qName){
           System.out.println(
"<"+localName+">");
       }

       
public void error(SAXParseException e)throws SAXException
       
{
           String errorMessage
=e.getMessage();
           System.out.println(
"一般错误:"+errorMessage);
       }

 }

错误信息是这样的:
---------- Java编译 ----------[此问题解决函数名大小写搞错了]
testone.java:13: 找不到符号
符号: 方法 newSaxParser()
位置: 类 javax.xml.parsers.SAXParserFactory
      SAXParser saxParser=factory.newSaxParser();
                                 ^
1 错误

Output completed (5 sec consumed) - Normal Termination
----------------------------------------------------------------------------
符号指什么啊?
错误信息第二个:
---------- Java运行 ----------
org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-formed.

Output completed (3 sec consumed) - Normal Termination
---------------------------------------------------------------------------------------------------------------------
 相关连接http://book.csdn.net/bookfiles/234/10023410858.shtml
使用浏览器检查xml文件得到如下信息:
-----------------------------------------------
无法显示 XML 页。
使用 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。
文本内容中发现无效字符。处理资源 'file:///E:/web/dtdFile.dtd' 时出错。第 1 行,位置: 12

<!ELEMENT 
------------------------------------------------------

---------- Java运行 ----------[现在的错误]
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.

Output completed (0 sec consumed) - Normal Termination

^_^终于所有问题都解决了
最后一个问题是因为dtd文件没有按utf-8编码方式保存所导致的!

现在的运行结果:
---------- Java运行 ----------
<车>该标记的属性:
<汽车>该标记的属性:
属性名称:车牌  属性类型:CDATA  属性的值:汽 A1234567  <汽车>
<驴车>该标记的属性:
属性名称:车牌  属性类型:CDATA  属性的值:驴 A7654321  <驴车>
<车>

Output completed (0 sec consumed) - Normal Termination