最近有接触到xsd解析xml进行相关参数验证的需求(根据文档中的参数类型、大小等要求进行xsd的配置),在使用过程中,出现了很多奇奇怪怪的问题,现总结如下
- cvc-complex-type.2.4.a: 发现了以元素 ‘xxx’ 开头的无效内容
- cvc-datatype-valid.1.2.1: ‘2018-6-26’ 不是 ‘date’ 的有效值(‘2014-7-20’ is not a valid value for 'date)
一开始经验告诉我可能是编码有问题,可是不断尝试后发现跟编码关系不大,经过不断调整,一般会出现 [发现了以元素 ‘xxx’ 开头的无效内容] 是因为xml中出现了xsd未配置的属性,在xsd文件中补上即可
tips:属性的顺序也很重要,如果有文档,根据文档来(如果xml文件会根据文档的顺序)
第二个问题是因为 配置为<xs:restriction base=“xs:date”>的检查是以yyyy-MM-dd检查的,2018-6-26的月份是两位,应该写为2018-06-26