怎样验证编写的XML Schema和DTD文件是否是良好的?
发布网友
发布时间:2023-12-30 17:54
我来回答
共1个回答
热心网友
时间:2024-03-04 23:22
简单方法:
用编写XML的软件,比如XMLSpy、SketchPath都是有这个功能的,菜单栏上有这个选项。
DreamWeaver和Myeclipse也可以验证的。
编写程序:
用java、C++、C#等都可以做到。
比如java,用DOM、SAX、JDOM、DOM4J都可以很容易的做到。、
下面的程序是用SAX对xml进行xsd验证:
import java.io.File;
import java.io.IOException;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
import org.xml.sax.SAXException;
public class ValidateXML {
/**
*
*/
public ValidateXML(){
}
public boolean Validatexml(String xsdpath,String xmlpath) throws SAXException,IOException{
//建立schema工厂
SchemaFactory schemaFactory=SchemaFactory.newInstance(" http://www.w3.org/2001/XMLSchema ");
//建立验证文档文件对象,利用此文件对象所封装的文件进行schema验证
File schemaFile=new File(xsdpath);
//利用schema工厂,接收验证文档文件对象生成Schema对象
Schema schema=schemaFactory.newSchema(schemaFile);
//通过Schema产生针对于此Schema的验证器,利用schenaFile进行验证
Validator validator=schema.newValidator();
//得到验证的数据源
Source source=new StreamSource(xmlpath);
//开始验证,成功输出success!!!,失败输出fail
try{
validator.validate(source);
}catch(Exception ex){
ex.printStackTrace();
}
return true;
}
}
热心网友
时间:2024-03-04 23:22
简单方法:
用编写XML的软件,比如XMLSpy、SketchPath都是有这个功能的,菜单栏上有这个选项。
DreamWeaver和Myeclipse也可以验证的。
编写程序:
用java、C++、C#等都可以做到。
比如java,用DOM、SAX、JDOM、DOM4J都可以很容易的做到。、
下面的程序是用SAX对xml进行xsd验证:
import java.io.File;
import java.io.IOException;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
import org.xml.sax.SAXException;
public class ValidateXML {
/**
*
*/
public ValidateXML(){
}
public boolean Validatexml(String xsdpath,String xmlpath) throws SAXException,IOException{
//建立schema工厂
SchemaFactory schemaFactory=SchemaFactory.newInstance(" http://www.w3.org/2001/XMLSchema ");
//建立验证文档文件对象,利用此文件对象所封装的文件进行schema验证
File schemaFile=new File(xsdpath);
//利用schema工厂,接收验证文档文件对象生成Schema对象
Schema schema=schemaFactory.newSchema(schemaFile);
//通过Schema产生针对于此Schema的验证器,利用schenaFile进行验证
Validator validator=schema.newValidator();
//得到验证的数据源
Source source=new StreamSource(xmlpath);
//开始验证,成功输出success!!!,失败输出fail
try{
validator.validate(source);
}catch(Exception ex){
ex.printStackTrace();
}
return true;
}
}
热心网友
时间:2024-03-04 23:22
简单方法:
用编写XML的软件,比如XMLSpy、SketchPath都是有这个功能的,菜单栏上有这个选项。
DreamWeaver和Myeclipse也可以验证的。
编写程序:
用java、C++、C#等都可以做到。
比如java,用DOM、SAX、JDOM、DOM4J都可以很容易的做到。、
下面的程序是用SAX对xml进行xsd验证:
import java.io.File;
import java.io.IOException;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
import org.xml.sax.SAXException;
public class ValidateXML {
/**
*
*/
public ValidateXML(){
}
public boolean Validatexml(String xsdpath,String xmlpath) throws SAXException,IOException{
//建立schema工厂
SchemaFactory schemaFactory=SchemaFactory.newInstance(" http://www.w3.org/2001/XMLSchema ");
//建立验证文档文件对象,利用此文件对象所封装的文件进行schema验证
File schemaFile=new File(xsdpath);
//利用schema工厂,接收验证文档文件对象生成Schema对象
Schema schema=schemaFactory.newSchema(schemaFile);
//通过Schema产生针对于此Schema的验证器,利用schenaFile进行验证
Validator validator=schema.newValidator();
//得到验证的数据源
Source source=new StreamSource(xmlpath);
//开始验证,成功输出success!!!,失败输出fail
try{
validator.validate(source);
}catch(Exception ex){
ex.printStackTrace();
}
return true;
}
}