我有一些XML文件,我需要存储在XSD文件中给出的结构中,在parquet / avro中。 XML / XSD文件包含重复的标记标题(可能会出现两次)因此我选择使用Parquet,因为Avro不支持此功能。
我想要检查它是否有效(针对XSD文件)以及XML中不存在的xsd元素,我只想将该值存储为NULL。
我看到它的方式我有两个选择:
1)使用scala检查xml对xsd,如果有效则(以某种方式)用NULL填充任何差异并存储为镶木地板。
2)检查xml有效性,然后使用XSD文件的镶木地板版本的模式来插入xml文件的paquet数据。
我不完全确定怎么做,所以我会感谢指针,以确保我不会浪费时间朝着错误的方向前进。
答案 0 :(得分:1)
我没有找到我想要的解决方案,但使用unix非常容易进行验证。
xmllint -schema xsdfile xmlfile --noout