`
wenhai_zhang
  • 浏览: 186065 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

使用DOM验证XML文件格式

    博客分类:
  • xml
阅读更多
package com;

import java.io.File;
import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.xml.sax.ErrorHandler;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;

class DOMValidator {
public static void main(String[] args) {
try {
String fileName = "conf/invalid_dtd2.xml";
File x = new File(fileName);
DocumentBuilderFactory f = DocumentBuilderFactory.newInstance();
f.setValidating(true); // Default is false
DocumentBuilder b = f.newDocumentBuilder();
// ErrorHandler h = new DefaultHandler();
ErrorHandler h = new MyErrorHandler();
b.setErrorHandler(h);
Document d = b.parse(x);
} catch (ParserConfigurationException e) {
System.out.println(e.toString());
} catch (SAXException e) {
System.out.println(e.toString());
} catch (IOException e) {
System.out.println(e.toString());
}
}

private static class MyErrorHandler implements ErrorHandler {
public void warning(SAXParseException e) throws SAXException {
System.out.println("Warning: ");
printInfo(e);
}

public void error(SAXParseException e) throws SAXException {
System.out.println("Error: ");
printInfo(e);
}

public void fatalError(SAXParseException e) throws SAXException {
System.out.println("Fattal error: ");
printInfo(e);
}

private void printInfo(SAXParseException e) {
System.out.println("   Public ID: " + e.getPublicId());
System.out.println("   System ID: " + e.getSystemId());
System.out.println("   Line number: " + e.getLineNumber());
System.out.println("   Column number: " + e.getColumnNumber());
System.out.println("   Message: " + e.getMessage());
}
}
}
分享到:
评论

相关推荐

    java中Dom验证XMl文件合法非法

    总结来说,Java中的DOM解析器配合XML Schema Factory可以有效地验证XML文件的合法性,通过捕获解析异常和检查返回的`Document`对象来判断验证结果。同时,注意性能优化和安全防护,避免潜在的攻击风险。

    使用DOM读取XML文件

    本文将深入探讨如何使用DOM读取XML文件,并结合提供的标签“源码”和“工具”,提供实用的代码示例和相关知识。 首先,理解DOM的基本概念。DOM将XML文档看作一个由节点组成的树形结构,其中根节点代表整个文档,而...

    用DOM读写XML文件

    在本文中,我们将深入探讨如何使用DOM(Document Object Model)API来读取和写入XML文件。 DOM是一种标准,它提供了一种结构化的表示XML文档的方式,并允许程序和脚本通过API访问XML文档的各个部分。DOM将XML文档...

    DOMProject(使用DOM输出XML)

    通过DOMParser类,我们可以加载XML文件并将其转化为DOM树。解析过程包括验证XML文档的语法,确保其符合XML规范。 2. **创建DOM树**:DOM允许我们创建新的XML文档,通过Document对象可以添加元素、属性和文本节点。...

    JavaScript,验证XML正确性

    本文将详细介绍如何使用 JavaScript 来验证 XML 的格式是否正确。 #### 一、理解 XML 验证的需求 在进行 XML 数据处理时,验证 XML 文件的正确性是非常重要的一步。如果 XML 文件存在语法错误或者结构问题,将会...

    Java DOM 生成XML

    - 解析XML文件: ```java Document doc = builder.parse("path_to_xml_file.xml"); ``` - 创建新的`Document`: ```java Document doc = builder.newDocument(); ``` 4. 在`Document`中创建元素、属性和其他节点: ...

    DOM解析XML应用实例(入门经典案例)

    4. 运行Java程序,观察控制台输出或生成的新XML文件,验证DOM解析和操作是否正确。 在“徐守威”的指导下,这个入门案例将帮助你理解DOM解析XML的基本概念,并通过实际操作提升技能。同时,了解并熟练运用DOM解析,...

    XSD使用dom4j校验XML

    总之,DOM4J结合XSD提供了一种高效且灵活的方式来验证XML文件的结构和内容。这对于保证数据交换的准确性和一致性具有重要意义,特别是在需要处理大量XML数据的系统中。理解和掌握这一技术,能够帮助开发者提高代码的...

    通过Dom4j创建和读取xml文件下载

    在Java编程中,DOM4J是一个非常流行的XML处理库,它提供了一套强大的API来创建、解析和操作XML文档。...通过运行`Dom4jTest.java`,我们可以确保DOM4J的实现与预期一致,从而在实际项目中安全地使用DOM4J处理XML文件。

    检验xml文件有效性的小工具

    要使用这个工具,你只需要将你的XML文件路径作为参数传递给`TestXML`程序,它会通过解析和验证XML文件的语法来检查其有效性。如果XML文件有效,工具会返回成功信息;反之,它会报告错误位置和原因。这对于开发者调试...

    使用SAXParser(SAXParserFactory.newInstance())验证XML文件格式---XSD

    本篇文章将深入探讨如何使用Java中的SAXParser和SAXParserFactory类来验证XML文件是否符合指定的XSD规范。 首先,`SAXParserFactory.newInstance()` 是Java API中用于创建SAXParser实例的方法,它是`javax.xml....

    DOM4J解析XML时DTD路径问题

    当DOM4J遇到一个带有DTD声明的XML文档时,它会尝试访问DTD文件并根据其内容验证XML文档的合法性。 #### 问题分析 在DOM4J解析过程中,如果XML文件包含了如下的DTD声明: ```xml <!DOCTYPE struts PUBLIC "-//...

    将xml文件转换成csv格式

    2. **解析XML文件**:使用XML解析器,如Python的`ElementTree`库,Java的`JDOM`或`DOM4J`,或者JavaScript的`DOMParser`,来读取和解析XML文件。解析器能够将XML文档转化为可操作的对象结构。 3. **构建CSV数据模型...

    vc++验证xml文件正确性的方法

    在本篇中,我们将详细介绍如何在VC++中使用XML Schema来验证XML文件。 首先,理解XML Schema的概念是关键。XML Schema是一种W3C标准,用于定义XML文档的结构和数据类型。它通过一系列规则(如元素、属性、数据类型...

    JSP基于dom解析xml实例详解.docx

    总的来说,这个实例详细地展示了如何在JSP中使用DOM解析XML文件,包括读取XML数据进行登录验证,以及将新数据写入XML文件。这种方法适用于需要频繁读取和更新XML数据的场景,但需要注意性能问题,因为DOM解析整个XML...

    Java解析XML文件的DOM和SAX方式.doc

    Java 解析 XML 文件的 DOM 和 SAX 方式是指在 Java 中使用 Document Object Model(DOM)和 Simple API for XML(SAX)两种方式来解析 XML 文件的技术。下面将详细介绍这两种方式的原理、实现和优缺点。 DOM 方式 ...

    解析XML所需的jar dom.jar

    在Java环境中,处理XML文件通常涉及到DOM(Document Object Model)解析器。"dom.jar"是一个包含Java DOM API实现的库,它是Java标准版(Java SE)的一部分,用于解析XML文档并将其转换为内存中的树形结构。 DOM...

    dom4j解析xml文件jar包

    6. **XML Schema支持**:DOM4J可以验证XML文档是否符合指定的XML Schema定义,帮助开发者确保数据的准确性和一致性。 7. **便捷的API**:DOM4J的API设计简洁易用,使得开发人员能够快速上手,同时提供高级特性,如...

    VS之XML文件操作

    使用C#或VB.NET,可以使用`System.Xml.XmlDocument`类来加载XML文件,然后通过节点遍历和操作来读写数据。 4. **LINQ to XML**: - .NET Framework 提供了LINQ to XML,这是一种更现代、更简洁的API来处理XML。...

    dom4j解析xml文件必备jar包

    例如,你可以使用DOM4J来读取XML文件,通过Jaxen执行XPath查询来提取特定信息,然后使用DOM4J提供的方法更新XML文档内容。同时,Xerces可以确保XML文档遵循预定义的结构规则。 在实际开发中,将这些jar包添加到项目...

Global site tag (gtag.js) - Google Analytics