小编s33*_*890的帖子

JAXB如何在JDK7中删除ns2

在我的代码中,当XmlSchema只有命名空间attr时,我使用JAXB tranlate对象到xmlstring,我可以得到我想要的.像这样的xml字符串:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<FoodSchema xmlns="http://www.something.com/something">
    <beverage>water</beverage>
    <food>steak</food>
</FoodSchema>
Run Code Online (Sandbox Code Playgroud)

但是当我有xmlns attr时,我得到像这样的xml:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:FoodSchema xmlns:xsi="h" xmlns:ns2="http://www.something.com/something">
    <ns2:beverage>water</ns2:beverage>
    <ns2:food>steak</ns2:food>
</ns2:FoodSchema>
Run Code Online (Sandbox Code Playgroud)

代码:package-info.java

    @XmlSchema(
        namespace="http://www.something.com/something", 
        elementFormDefault=XmlNsForm.QUALIFIED,
        xmlns = { @XmlNs(namespaceURI = "h", prefix = "xsi")})//only this make the result different


package com.test;

import javax.xml.bind.annotation.*;
Run Code Online (Sandbox Code Playgroud)

Food.java

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class Food {

    private String food;
    private String beverage;

    public String getFood() {
        return food;
    }

    public void setFood(String food) {
        this.food = food;
    }

    public String getBeverage() {
        return …
Run Code Online (Sandbox Code Playgroud)

xml namespaces jaxb ns2

2
推荐指数
1
解决办法
6752
查看次数

标签 统计

jaxb ×1

namespaces ×1

ns2 ×1

xml ×1