XMLWriter使用zdef扩展属性名称?
我尝试使用XMLMapper将一些配置类序列化为xml配置文件。 但我在属性生成方面遇到了一些麻烦。 实际上生成的XML是完美的,但XMLMapper有时会为我的属性名称添加前缀。
例如
代替
这真的很糟糕,因为我不能再用XOM处理xml结构了:(
这种效果来自哪里? 我发现xml生成器似乎自动修复命名空间以使属性唯一。 为什么这是必要的,我该如何避免呢?
经常导致XmlMapper
出现问题的一件事是基础XML Stax库 – JDK中包含的一个库有时会添加不必要的名称空间前缀。 解决方案是使用Woodstox Stax实现,因为众所周知,它通常可以更好地工作,并且在这种特定情况下也是如此。
如果你使用Maven,你可以在你的pom.xml
添加它:
org.codehaus.woodstox woodstox-core-asl 4.1.4
你的问题可能会得到解决。 作为额外的好处,这也是更快的XML解析器。
对于那些正在寻找非woodstox答案的人。 这对我有用:
xmlMapper.getFactory().getXMLOutputFactory().setProperty("javax.xml.stream.isRepairingNamespaces", false);
- 部署jsp / servlet Web应用程序时出现Jboss错误“com.sun.faces.config.ConfigureListener”错误
- 如何在活动之间传递一个double数组(boolean )?