当前位置 : 主页 > 网页制作 > xml >

xml – 如何使用JAXB抑制XSI

来源:互联网 收集:自由互联 发布时间:2021-06-13
JAXB2的默认 XML输出如下: ?xml version="1.0" encoding="UTF-8" standalone="no"?TEST2 xmlns="http://projects/open/2012/UniformProxySystem" XXX1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/ XXX217:02:26/XXX2 XX
JAXB2的默认 XML输出如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<TEST2 xmlns="http://projects/open/2012/UniformProxySystem">
    <XXX1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
    <XXX2>17:02:26</XXX2>
    <XXX3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
</TEST2>

但是我想要它如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<TEST2 xmlns="http://projects/open/2012/UniformProxySystem" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <XXX1 xsi:nil="true"/>
    <XXX2>17:01:08</XXX2>
    <XXX3 xsi:nil="true"/>
</TEST2>

寻找帮助,我正在使用JDK6和JAXB 2.1

您可以尝试使用@XmlSchema注释并执行以下操作:

package-info.java

@XmlSchema(
    elementFormDefault=XmlNsForm.QUALIFIED,
    namespace="http://projects/open/2012/UniformProxySystem",
    xmlns={@XmlNs(prefix="xsi",
                  namespaceURI="http://www.w3.org/2001/XMLSchema-instance")}
)
package com.example;

import javax.xml.bind.annotation.XmlNs;
import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.bind.annotation.XmlSchema;
网友评论