【问题标题】:How to remove xmlns="" from xml request如何从 xml 请求中删除 xmlns=""
【发布时间】:2013-09-25 12:19:37
【问题描述】:

我正在尝试从我使用轴向导从 wsdl 自动生成的存根生成的 xml 请求中删除空白 xmlns。

轴向导生成请求类,其中有:

 private static org.apache.axis.description.TypeDesc typeDesc =
        new org.apache.axis.description.TypeDesc(Request.class, true);

    static {
        typeDesc.setXmlType(new javax.xml.namespace.QName("http://myNamespace"));
        org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("destinationIdsInfo");
        elemField.setXmlName(new javax.xml.namespace.QName("", "DestinationIdsInfo"));//IF I REMOVE THIS EVERY ELEMENT INSIDE THAT TAG WILL HAVE xmlns="".
        elemField.setXmlType(new javax.xml.namespace.QName("", "DestinationIdInfo"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        elemField.setItemQName(new javax.xml.namespace.QName("", "DestinationIdInfo"));
        ....
   }

这会生成一个像这样的 xml:

...
<DestinationIdsInfo xmlns="">
    <DestinationIdInfo id="xxxx"/>
</DestinationIdsInfo>
...

但我需要

<DestinationIdsInfo>
    <DestinationIdInfo id="xxxx"/>
</DestinationIdsInfo>

我该如何解决??

【问题讨论】:

    标签: java xml soap namespaces axis


    【解决方案1】:

    您应该为嵌套元素指定相同的命名空间 URI:

    elemField.setXmlName(new javax.xml.namespace.QName("http://myNamespace", 
                                                       "DestinationIdsInfo"))
    

    DestinationIdInfo 同上。)

    然后它将从包含元素继承命名空间,这就是我相信你想要的原因。

    有关命名空间默认设置的更多信息,请参阅XML namespaces specification section 6.2

    【讨论】:

    • 如果我指定命名空间 URI,它将出现在我的 xml 请求中并且我不需要它(Web 服务的所有者不希望该命名空间出现在请求中)
    • @JackTurky:不,不应该 - 因为您已经从其中一个封闭元素中继承该命名空间。在 XML 的一个封闭元素中查找 xmlns="http://myNamespace" 元素。如果你不想要任何命名空间anywhere,你应该去掉它们。
    • 你知道你是最棒的吗? :) 我的问题是轴为我生成了具有不同命名空间的类,所以我唯一要做的就是在任何地方统一命名空间,现在 xml 的所有元素都从根元素继承命名空间:) 谢谢你!!!!!!!!!
    猜你喜欢
    • 1970-01-01
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-16
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    相关资源
    最近更新 更多