我使用jibx来生成xsd到java代码,我也使用ant创建了jar文件。在这里,我们需要设置xmlschemalocation,所以当我们按下面的方式执行封送消息时,我们可以获得xsd位置。
public String marshalMessage(Object message)
{
try {
IBindingFactory jc = BindingDirectory.getFactory(DeviceCapability.class);
IMarshallingContext marshaller = jc.createMarshallingContext();
ByteArrayOutputStream out = new ByteArrayOutputStream();
marshaller.marshalDocument(message, URL_ENCODING, null, out);
return out.toString(STRING_ENCODING);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (JiBXException e) {
e.printStackTrace();
}
return null;
}//这用于创建对象
DeviceCapability devicecapability = new DeviceCapability();
devicecapability.setHref("Hello");
String xml = marshalMessage(devicecapability);生成的xml o/p是?xml version="1.0“encoding="UTF-8"?> /DeviceCapability xmlns="http://zigbee.org/sep”href=“Hello”/>
我想要下面这样的o/p ?xml version="1.0“encoding="UTF-8"?>DeviceCapability xmlns="http://zigbee.org/sep”href="Hello“xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="http://zigbee.org/abc abc.xsd/>
有人能告诉我如何使用jibx.I添加原理图定位吗?我已经使用了ant码/绑定工具。
发布于 2013-01-30 04:46:19
JiBX很容易处理多个命名空间。您所要做的就是指定模式定义(.xsd)文件中的所有名称空间。例如,下面是我的模式定义之一的片段:
http://javafx.com“schemaLocation="javafx.xsd"/>
JiBX生成的XML具有所需的命名空间定义。
Don - JiBX贡献者
https://stackoverflow.com/questions/14562983
复制相似问题