我们正在努力解决一些命名空间兼容性问题。目前我们将一些外部数据存储在我们的数据库中作为 XML 文件,命名空间为 xmlns="http://xyz.com/prodresponse/v2" ,最近供应商将命名空间更改为 xmlns="http://xyz.com/prodresponse/v4" .
问题是我们需要为内部应用程序无缝处理新旧命名空间数据。目前我确实只看到一个选项:
还有其他选择吗?
提前谢谢了
最佳答案
命名空间发生变化的原因可能是因为格式发生了变化。因此,命名空间对您来说是非常有值(value)的信息,因为它准确地告诉您期望和不期望哪些元素(当与相应的 XSD 模式结合时)。如果您将命名空间更新为新版本,那么根据架构,旧的 XML 数据很可能是不正确的。
所以不,我认为您不应该更改现有的 XML 数据。保留它,并确保您的解析器知道如何处理这两个命名空间。
关于XSD 命名空间向后兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3312625/