xml验证java中允许的值

xml验证java中允许的值,java,xml,validation,parsing,xsd,Java,Xml,Validation,Parsing,Xsd,我有一个问题,什么是针对XSD验证XML的最佳方法。我需要验证XML中允许的值,这可以在XSD中使用枚举轻松完成。问题是,允许的值的列表非常大,在XSD中执行此操作可能会非常复杂。另一件事是,允许的值可以随时更改,所以我希望避免更改XSD模式。我想用java过滤这些值。例如,要为每个XML标记创建一些配置文件,并在验证XML时检查值。若XML标记的内容不在配置文件中,则会引发错误。 我的另一个问题是,哪个解析器是最好的?XML文件大约有40个XML元素/标记,一个XML文件可能有大约40k条记录

我有一个问题,什么是针对XSD验证XML的最佳方法。我需要验证XML中允许的值,这可以在XSD中使用枚举轻松完成。问题是,允许的值的列表非常大,在XSD中执行此操作可能会非常复杂。另一件事是,允许的值可以随时更改,所以我希望避免更改XSD模式。我想用java过滤这些值。例如,要为每个XML标记创建一些配置文件,并在验证XML时检查值。若XML标记的内容不在配置文件中,则会引发错误。 我的另一个问题是,哪个解析器是最好的?XML文件大约有40个XML元素/标记,一个XML文件可能有大约40k条记录。 我的最后一个问题是,如何更改语法分析器中默认错误的英语语言?我已经阅读了一些使用哪种解析器的教程,但您的经验将非常有用。多谢各位

值的示例:

煎饼

牛奶


Pancake是允许的值,因此不会引发错误。Milk是不允许的,因此会引发错误:Milk是不允许的。

阅读了解如何从xml和转换为xml

您不希望在xsd或java中枚举值是正确的吗?然后,您需要对该值进行某种逻辑/限制,例如,以a-f开头,只有4个字母。是的,我不希望在XSD中枚举值。它们可以用java枚举(我想用java读取一些配置文件,这样很容易维护)。好的,那么请阅读配置文件,阅读xml文件,检查配置文件中是否包含特定标记的值。您建议使用哪种解析器?考虑到最终XML中记录的数量,我需要将默认错误消息的英语语言更改为不同的语言。谢谢