java - 如何在 xsd 中查找特定标签是否在 xml 中可用?

标签 java xml xsd xml-validation

我的 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/

相关文章:

java - 使用 Java SSH API 时 sqlplus 缺少输出

java - 如何使用BAPI在SAP系统中重置密码?

xml - 使用 XML 的 EBNF 实现 XML 转换器

java - 在 Java 中将 xml 文件转换为 excel

xml - XSD: "restriction--pattern"标签的转义字符是什么

java - Tomcat 7.0 在重新加载应用程序时是否会关闭 DataSource?

android - ViewFlipper 宽度正在包裹其内容并且 fill_parent 不起作用

xml - 在 XSD 中编写将出现在自动生成的 XML 中的注释?

java - 针对 XSD 的 XML 无效

java - 非静态字段初始化