第三方API为我的JAX-RS请求创建了以下响应:
<?xml version="1.0"?>
<name xmlns="http://www.example.com/name">
<first>John</first>
<middle>M</middle>
<last>Doe</last>
</name>
参考这个架构:
<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:target="http://www.example.com/name"
targetNamespace="http://www.example.com/name" elementFormDefault="qualified">
<element name="name">
<complexType>
<sequence>
<element name="first" type="string"/>
<element name="middle" type="string"/>
<element name="last" type="string"/>
</sequence>
</complexType>
</element>
</schema>
但是,他们错误地改变了服务器响应:
<?xml version="1.0"?>
<ns2:name xmlns:ns2="http://www.example.com/name">
<first>John</first>
<middle>M</middle>
<last>Doe</last>
</ns2:name>
现在,当我使用JAX-RS webclient调用API时,我没有使用null对象,但其中的值全为null,因为XML响应的子节点未使用命名空间ns2。
如何忽略命名空间ns2?所以响应对象的值不会为空。