使用 staxmate api 写出一个元素
我正在使用 staxmate 写出一个 xml 文档。我想用“pre:elem”这样的前缀/命名空间写出 xml 元素。我可以手动将其构造为“pre”+“:”+“elem”并将其传递给 staxmate api 的 addElement 方法。但是,有更好的方法吗?
I am using staxmate to write out an xml document. I want to write out xml elements with a prefix/namespace like "pre:elem". I can construct this manually as "pre" + ":" + "elem" and pass it on to the addElement method of staxmate api. But, is there a better way to do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
手动构建不能保证有效,因此它不是一个好的解决方案(您可能已经知道)。正确的方法是获取一个命名空间实例(带有建议的前缀)并使用它进行写入。因此,类似于:
您可以从任何容器(SMOutputDocument、SMOutputElement)获取命名空间实例。
如果不传递命名空间对象,则默认采用带有 URI“” 的命名空间(必须绑定到无前缀)。
(注意:我会要求将此添加到 StaxMate 常见问题解答)
Manually constructing is not guaranteed to work, so it is not a good solution (which you probably knew already). The right way is to get a Namespace instance (with suggested prefix) and use that for writing. So, something like:
You can get namespace instances from any container (SMOutputDocument, SMOutputElement).
Without passing namespace object, default is to assume namespace with URI "" (which must be bound to no-prefix).
(note: I'll ask this to be added to StaxMate FAQ)