gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 15:35:20 25 4
gpt4 key购买 nike

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

<ns2:urlset xmlns:ns2="http://www.example.com">

但是,这就是我想要的(没有 XML 命名空间前缀 ns2 ):
<urlset xmlns="http://www.example.com">

我尝试使用以下 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

如果我设置 ns2,前缀可以更改为其他值(而不是 prefix )到另一个字符串。但是前缀不能通过设置 prefix去除值到“”。它仍然显示默认的 ns2 .有没有办法删除默认前缀 ns2 ?

另一个问题是,如果 standalone XML 标题中的属性也可以删除吗?如果是这样,可以通过 package-info.java来做吗? ?
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

最佳答案

尝试这个:

包信息.java

    @XmlSchema(
namespace="http://www.sitemaps.org/schemas/sitemap/0.9",
elementFormDefault=XmlNsForm.QUALIFIED)
package com.example.model;
import javax.xml.bind.annotation.XmlSchema;
import javax.xml.bind.annotation.XmlNsForm;

XmlUrlSet.java
@XmlAccessorType(value = XmlAccessType.NONE)
@XmlRootElement(name = "urlset", namespace = "http://www.sitemaps.org/schemas/sitemap/0.9")
public class XmlUrlSet {...}

关于spring-mvc - 如何从使用 JAXB 生成的 XML 中删除默认的根元素命名空间前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12994490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com