小编Jin*_*ang的帖子

如何从使用JAXB生成的XML中删除默认的根元素名称空间前缀

我正在使用带有spring-mvc框架的JAXB来生成XML.这是根元素的示例:

<ns2:urlset xmlns:ns2="http://www.example.com">
Run Code Online (Sandbox Code Playgroud)

但是,这就是我想要的(没有XML名称空间前缀ns2):

<urlset xmlns="http://www.example.com">
Run Code Online (Sandbox Code Playgroud)

我试图使用以下内容package-info.java删除默认前缀ns2.

@javax.xml.bind.annotation.XmlSchema(  
    namespace = "http://www.example.com",   
    xmlns = {@javax.xml.bind.annotation.XmlNs(namespaceURI = "http://www.example.com", prefix="")},  
    elementFormDefault = javax.xml.bind.annotation.XmlNsForm.UNQUALIFIED)  
package com.example.code
Run Code Online (Sandbox Code Playgroud)

ns2如果我设置prefix为另一个字符串,前缀可以更改为其他值(比).但是,通过将prefix值设置为"",无法删除前缀.它仍然显示默认值ns2.有没有办法删除默认前缀ns2

另一个问题是,如果standaloneXML的标题中的属性也可以删除吗?如果是这样,可以通过package-info.java吗?

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Run Code Online (Sandbox Code Playgroud)

spring-mvc jaxb

6
推荐指数
1
解决办法
6942
查看次数

标签 统计

jaxb ×1

spring-mvc ×1