2

我的xml文件是,

 <?xml version="1.0"?>
 <type xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"                          
                    xs:noNamespaceSchemaLocation="datatype.xsd">

    <int>integer</int>
    <varchar>varcharacter</varchar>
    <double>doubles</double> 

  </type>

在这个 xml 中,我想设置<float></float>为强制。但我没有使用这个标签。那么如何<float>使用xsd和java来验证我的xml文件中是否存在?提前致谢。

4

1 回答 1

0

以下内容可用于根据模式验证您的 XML:

import java.io.File;

import javax.xml.XMLConstants;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;

public class Demo {

    public static void main(String[] args) throws Exception {
        SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
        Schema schema = sf.newSchema(new File("datatype.xsd"));

        Validator validator = schema.newValidator();
        validator.setErrorHandler(new MyErrorHandler());
        validator.validate(source);
    }

}

有关更详细的示例,请参见:

于 2010-12-21T14:23:28.603 回答