java - 为 JAXB 类动态添加命名空间
问题描述
我有以下xml:
<?xml version="1.0" encoding="UTF-8"?>
<roots xmlns="http://www.test.com/test/rest/v1">
<root>
<name>james</name>
</root>
</roots>
我想为上述 xml 生成 JAXB 类,并xmlns="http://www.test.com/test/rest/v1"
在编组时动态添加名称空间 ()。我可以生成 JAXB 类,但不能动态添加命名空间。我尝试使用以下代码,但它不起作用。关于如何做到这一点的任何想法?
JAXBContext jaxbContext = JAXBContext.newInstance("com.test");
XMLStreamWriter xmlStreamWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(inputSchema);
xmlStreamWriter.setPrefix("xmlns", "http://www.test.com/test/rest/v1");
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
jaxbMarshaller.marshal(roots, xmlStreamWriter);
解决方案
推荐阅读
- javascript - 卸载文档时将数据保存在 localStorage
- events - 为什么我不能将 Flutter TextField onChanged 事件值传递给文本?
- python - 如何从复杂的 DataFrame 中提取信息?
- node.js - 使用Nodejs替换csv文件中双引号内的逗号
- apache-kafka - Kafka:将源从 MySQL 切换到 Kafka
- mongodb - 你好!我收到循环依赖错误
- python - 在 OpenCV 中使用“and”运算符和“&”运算符的区别
- amazon-web-services - 是否有任何云服务允许存储数据但阻止删除或操作相同的数据?
- swift - SKScene - 如何从 SKSpriteNode 获取类
- outlook - Outlook Web 插件在特定 Outlook 客户端上引发错误,但适用于 OWA