我的 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>
是否存在于我的 xml 文件中,将 xsd 与 java 一起使用?提前致谢。
最佳答案
以下内容可用于根据模式验证您的 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);
}
}
有关更详细的示例,请参阅:
关于java - 如何在 xsd 中查找特定标签是否在 xml 中可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4500168/