我可以使用DOM解析器在java中使用模式验证xml。但是这里架构和xml文件都有命名空间。
现在我想要使用模式验证没有名称空间的xml。如何实现这个
由于 BAPI
答案 0 :(得分:1)
基本上,您的文档与架构不匹配,因此它不应该工作。理想情况下,您可以修复xml文档以获得适当的命名空间;或模式来验证非命名空间结构。
但假设这不起作用,您可以预先处理有问题的XML内容,并将元素/属性更改为预期的名称空间。这可以使用DOM,SAX或Stax处理来完成。由于DOM通常是从SAX源构建的,因此最简单的方法就是只需要一个简单的链接SAX内容处理程序,为元素,属性“添加”命名空间:这是通过接收回调,在调用链式处理程序之前修改参数来完成的。 我很确定你可以google例如代码,这是一个相当常见的用例; ESP。因为许多开发人员都没有花时间去理解XML命名空间的工作原理。命名空间不是火箭科学,但仍然可能误解前缀与命名空间URI的作用。
希望这有帮助。