当前位置: 首页 > 知识库问答 >
问题:

在xml中设置xmlschema

陶原
2023-03-14

我使用jibx库生成xsd到Java的代码,我也使用Ant创建了jar文件。在这里我们需要设置xmlschemalocation,以便在如下所示执行marshalmessage时,可以获得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添加schemalocation吗?我使用过ant Codegen/Bind工具。

共有1个答案

宋耀
2023-03-14

JiBX可以轻松地处理多个名称空间。您所要做的只是指定架构定义(.xsd)文件中的所有名称空间。例如,下面是我的一个模式定义的一个片段:

JiBX生成的XML具有所需的名称空间定义。

Don-Jibx贡献者

 类似资料:
  • 我正在使用maven3。我在设置中定义了一些特定于用户的配置文件和activeProfiles标记。xml和我想将它们移动到项目的pom。xml。但仅仅是从设置中复制配置文件和活动配置文件。xml到pom。xml不起作用并破坏了构建,因为它试图在maven central而不是artifactory中找到项目的父pom。这是我的设置。xml配置文件。Maven报告问题:找不到xxx:xxx:pom

  • 我将xml发送到web服务,并在那里将输入xml转换为字符串,现在设置其编码时遇到问题。下面是一个代码: 这段代码从请求xml生成一个String。问题是,当请求XML不是以UTF-8编码时,它会在xml元素中产生不可读的字符: 当我发送UTF-8编码的xml时,没有问题。因此,问题是如何在将xml转换为字符串时设置UTF-8编码。 JVM使用的默认编码是ISO8859-1。

  • 我是库伯内特人。我在Minikube中配置的整个设置。我不确定它是否与其他kubernetes设置有所不同。 我已经在我的设置中创建了一个POD,一个Spring Boot应用程序正在8080端口上运行,这个服务将在20080端口上向集群公开。 我正在运行tcpDum的集群内运行另一个pod。我需要在20080上转储撞击集群的HTTP数据包。请告诉我如何从tcpDumpod访问集群接口。 我尝试了

  • 如何从XML设置RecyclerView layoutManager?

  • 在本章中,我们将学习如何更改XML DOM对象中节点的值。 节点值可以更改(或设置)如下 - 如果是类型,那么变量将是属性的值; 如果是类型,则它将是文本内容; 如果是类型,则它将为。 以下部分将演示每种节点类型(,和类型)的节点值设置。 以下所有示例中使用的如下所示 - 1. 更改 Text 节点的值 当元素的更改值时,需要编辑元素的文本内容(也称为文本节点)。 以下示例演示如何更改元素的节点。

  • 问题内容: 我是mySql的新手。我正在尝试替换表的xml列中的值。 我的选择方法有效。 我的替换方法没有。我一直在寻找正确的语法… 一些背景: 当我删除漫画页面时会出现这种情况。 它在页码上留下了空白,之后我要么: 遍历所有漫画,并消除页码中的任何空白。 或者 遍历pageNumber大于已删除页面的所有漫画,并将其pageNumber减小1。 问题答案: 怎么样