我正在制作简单的绘图程序,在该程序中,用户可以将他们的工作保存到XML文件中;这些XML文件有两种不同的模式。
当涉及到加载时,我希望我的程序能够理解这两种模式。也就是说,程序在没有先知道文件使用哪种模式的情况下读取文件。
我该如何处理这个问题?
答案 0 :(得分:3)
我只是尝试阅读强制执行一个架构,如果它无法验证回退到另一个架构。
答案 1 :(得分:0)
我认为这取决于你用来读取XML文件的XML系统。
如果您的XML解析器足够灵活,请检查解析树中的差异,这有助于指示使用哪个架构。 (例如,如果它们的根元素的名称不同,则可以使用它)
如果您的解析器不灵活,我会建议ptyx建议的答案,它会尝试一个架构,如果第一个架构失败,则会退回到另一个架构。
答案 2 :(得分:0)
如果文件的开头有DOCTYPE
,则这很简单。因此要求XML文件具有DOCTYPE
。