我在Wildfly 10.1.0.Final中运行的Java Web应用程序中面临XML处理/生成方面的问题。
来源是这样的:
<root xmlns="ns1">
<foo xmlns="ns2">
<bar xmlns="" />
</foo>
</root>
当我使用独立的Java项目进行解析,转换和导出xml(使用xalan 2.7.2和xerces-impl 2.12.0)时,一切正常。 当我在wildfly中执行相同的操作时,bar元素的null命名空间在途中丢失了。而且我不知道确切的位置,更重要的是为什么。 我已经尝试过排除widlfly xalan和xerces并使用捆绑的jar。我尝试将DocumentFactory和Transformerfactory显式设置为xalan / xerces实现,但无济于事。 在调试时,Document对象似乎完全按顺序排列(包括null命名空间),但是一旦将其转换为ByteArrayOutputStream,它将释放null命名空间,例如:
<root xmlns="ns1">
<foo xmlns="ns2">
<bar />
</foo>
</root>
有人暗示为什么以及如何预防吗?