Der*_*har 4 java xml mapping castor
如何更改Castor映射
<?xml version="1.0"?>
<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Mapping DTD Version 1.0//EN"
"http://castor.org/mapping.dtd">
<mapping>
<class name="java.util.ArrayList" auto-complete="true">
<map-to xml="ArrayList" />
</class>
<class name="com.db.spgit.abstrack.ws.response.UserResponse">
<map-to xml="UserResponse" />
<field name="id" type="java.lang.String">
<bind-xml name="id" node="element" />
</field>
<field name="deleted" type="boolean">
<bind-xml name="deleted" node="element" />
</field>
<field name="name" type="java.lang.String">
<bind-xml name="name" node="element" />
</field>
<field name="typeId" type="java.lang.Integer">
<bind-xml name="typeId" node="element" />
</field>
<field name="regionId" type="java.lang.Integer">
<bind-xml name="regionId" node="element" />
</field>
<field name="regionName" type="java.lang.String">
<bind-xml name="regionName" node="element" />
</field>
</class>
</mapping>
Run Code Online (Sandbox Code Playgroud)
压制xmlns:xsi和xsi:type属性的XML输出的元素吗?例如,而不是输出XML
<?xml version="1.0" encoding="UTF-8"?>
<ArrayList>
<UserResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="UserResponse">
<name>Tester</name>
<typeId>1</typeId>
<regionId>2</regionId>
<regionName>US</regionName>
</UserResponse>
</ArrayList>
Run Code Online (Sandbox Code Playgroud)
我更喜欢
<?xml version="1.0" encoding="UTF-8"?>
<ArrayList>
<UserResponse>
<name>Tester</name>
<typeId>1</typeId>
<regionId>2</regionId>
<regionName>US</regionName>
</UserResponse>
</ArrayList>
Run Code Online (Sandbox Code Playgroud)
这样元素名称暗示了xsi:type.
将Castor Marshaller属性设置suppressXSIType为false:
Marshaller marshaller = new Marshaller(w);
marshaller.setSuppressXSIType(true);
Run Code Online (Sandbox Code Playgroud)
请参阅Castor 1.3.1参考文档中的配置Marshaller.(请注意,表1.10 Marshaller属性仅列出属性,但方法和类都存在于类中.)suppressNamespacessetSuppressNamespaces()setSuppressXSIType()Marshaller
| 归档时间: |
|
| 查看次数: |
6046 次 |
| 最近记录: |