首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何自定义命名空间前缀

如何自定义命名空间前缀
EN

Stack Overflow用户
提问于 2012-12-11 17:22:10
回答 2查看 8K关注 0票数 5

我是JAXB的新手。我能够填充XML。在我的例子中,我需要我的名称空间前缀为

代码语言:javascript
复制
<set xmlns="www.google.com"
   xmlns:myName="www.google.com">

而不是

代码语言:javascript
复制
<set xmlns="www.google.com"
   xmlns:ns2="www.google.com">

我使用了package-info类和@XmlType注解。我是否需要添加任何变量来获得第二个名称空间的所需名称,如“xmlns:MyName”而不是"xmlns:ns2"?

EN

回答 2

Stack Overflow用户

发布于 2012-12-11 18:14:08

如果使用作为JAXB提供程序或JAXB的最新版本,则可以执行以下操作:

包-info

可以在@XmlSchema批注的xmlns属性上使用@XmlNs批注来指定命名空间的前缀。

代码语言:javascript
复制
@XmlSchema(
    namespace="www.google.com",
    elementFormDefault = XmlNsForm.QUALIFIED,
    xmlns={
        @XmlNs(namespaceURI = "www.google.com", prefix = ""),
        @XmlNs(namespaceURI = "www.google.com", prefix = "myName"),
    })
package forum13817126;

import javax.xml.bind.annotation.*;

Java模型

下面是一个简单的Java模型,我将在这个示例中使用它。

代码语言:javascript
复制
package forum13817126;

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class Set {

}

演示代码

下面的演示代码将创建域模型的一个实例并将其编组为XML。

代码语言:javascript
复制
package forum13817126;

import javax.xml.bind.*;

public class Demo {

    public static void main(String[] args) throws Exception {
        JAXBContext jc = JAXBContext.newInstance(Set.class);

        Set set = new Set();

        Marshaller marshaller = jc.createMarshaller();
        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
        marshaller.marshal(set, System.out);
    }

}

输出

下面是运行演示代码的输出。

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<myName:set xmlns="www.google.com" xmlns:myName="www.google.com"/>

有关详细信息的,请访问

  • http://blog.bdoughan.com/2011/11/jaxb-and-namespace-prefixes.html
票数 3
EN

Stack Overflow用户

发布于 2012-12-11 18:08:34

您需要在package-info中的@XmlSchema批注上添加xmlns属性。它的值是一个注释数组,为编组程序提供建议的前缀映射。虽然在技术上允许忽略这些建议,但我发现,只要没有冲突(两个不同的包为不同的URI提供相同的前缀),它们通常就会受到尊重。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13817126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档