在parser中加载要解析的xml的时候,如果xml文档不是well-formed,就会报错。

解决方案 »

  1.   

    你可以使用工具,如XMLSPY,他会帮你验证的,是一个很好的开发工具。或者直接用IE打开,如果出错说明就有问题啊,最简单了,呵呵
      

  2.   

    可以使用.net或用jbuilder中的DTD架构
      

  3.   

    真确和良构不是一回事的正确需要使用DTDorSchema对XML文件进行验证的
      

  4.   

    DTD就是用来对XML进行约束的一种规范
      

  5.   

    XML文档错误有两种,(1)格式错误,不符合XML格式规范;(2)业务逻辑错误,不符合定义的XML DTD 或SCHEMA。可以在解析XML文件的时候通过指定参数来控制要校验到哪一级错误。
      

  6.   

    up,对于楼上朋友的第一种错误,有很多工具可以检查,xmlSpy就是个很好的工具。
    其实在解析时一般的解析器都可以报错,例如在xml文档的某一行。
      

  7.   

    我有一java程序,可进行验证,需要的话留下e-mail
      

  8.   

    Leony(老树) 
     如果我不想验证呢?也就是说,我想跳过doctype等信息,直接解析xml的正文内容
    我的mail:[email protected]
    麻烦你给我发,
    欢迎看http://expert.csdn.net/Expert/TopicView1.asp?id=2115168
      

  9.   

    最简单的办法,用explore打开看看
      

  10.   

    如果有DTD就是XML文件里写上<!DOCTYPE yourRootElement system "yourDtdFile">
      

  11.   

    import org.jdom.JDOMException;
    import org.jdom.input.SAXBuilder;
    public class JDOMChecker {  public static void main(String[] args) {    if (args.length == 0) {
          System.out.println("Usage: java JDOMChecker URL1 URL2...");
        }    SAXBuilder builder = new SAXBuilder();    // start parsing...
        for (int i = 0; i < args.length; i++) {      // command line should offer URIs or file names
          try {
            builder.build(args[i]);
            // If there are no well-formedness errors,
            // then no exception is thrown
            System.out.println(args[i] + " is well formed.");
          }
          catch (JDOMException e) { // indicates a well-formedness or other error
            System.out.println(args[i] + " is not well formed.");
            System.out.println(e.getMessage());
          }    }  }}
      

  12.   

    import org.jdom.JDOMException;
    import org.jdom.input.SAXBuilder;
    public class JDOMChecker {  public static void main(String[] args) {    if (args.length == 0) {
          System.out.println("Usage: java JDOMChecker URL1 URL2...");
        }    SAXBuilder builder = new SAXBuilder();    // start parsing...
        for (int i = 0; i < args.length; i++) {      // command line should offer URIs or file names
          try {
            builder.build(args[i]);
            // If there are no well-formedness errors,
            // then no exception is thrown
            System.out.println(args[i] + " is well formed.");
          }
          catch (JDOMException e) { // indicates a well-formedness or other error
            System.out.println(args[i] + " is not well formed.");
            System.out.println(e.getMessage());
          }    }  }}