Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:JAXBElement的QName,没有名称空间或前缀?(使用matlab)_Java_Matlab_Jaxb_Jaxb2_Qnames - Fatal编程技术网

Java:JAXBElement的QName,没有名称空间或前缀?(使用matlab)

Java:JAXBElement的QName,没有名称空间或前缀?(使用matlab),java,matlab,jaxb,jaxb2,qnames,Java,Matlab,Jaxb,Jaxb2,Qnames,我对JAXB和Java相当陌生。我使用了xjc,并且正在使用我自己的名称空间映射器覆盖自定义ns1 ns2 etc名称空间。java是通过Matlab运行的,因此它的格式与普通java不完全相同。不过,任何直接的Java答案都可以,因为我应该能够转换它 以下是我想要的: <String> blah </String> 其中c稍后添加到包含String元素的列表中 jxb = JAXBContext.newInstance('mypackage'); jaxbMarsha

我对JAXB和Java相当陌生。我使用了xjc,并且正在使用我自己的名称空间映射器覆盖自定义ns1 ns2 etc名称空间。java是通过Matlab运行的,因此它的格式与普通java不完全相同。不过,任何直接的Java答案都可以,因为我应该能够转换它

以下是我想要的:

<String> blah </String>
其中c稍后添加到包含String元素的列表中

jxb = JAXBContext.newInstance('mypackage');
jaxbMarshaller = jxb.createMarshaller();
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
jaxbMarshaller.setProperty('com.sun.xml.internal.bind.namespacePrefixMapper', MyCustomMapper());
jaxbMarshaller.setProperty(Marshaller.JAXB_SCHEMA_LOCATION, 'http://thelocationofmyschema.com')
jaxbMarshaller.marshal(jaxbclassinstance, file);
我的XML是功能性的,但为了简洁/一致,如果它相对简单,我想删除xmlns垃圾

谢谢大家!!这是我的第一个堆栈溢出问题,对不起,如果它没有达到标准。 更新

我解决了这个问题。需要做两件事:我做的不是废话,而是

 blah=java.lang.String('blah')

我忘了在matlab中为java做些什么。其次,在生成JAXBElement时,如果使用blah.getClass(),则不使用内部_类变量,而是将其打印出来,无需任何限制。我现在意识到这更多的是一个混搭问题,而不是一个QName问题。

根据要求,将我的解决方案作为答案发布:

更新

我解决了这个问题。需要做两件事:我做的不是“废话”

blah=java.lang.String('blah') 我忘了在matlab中为java做一些事情。我相信当输入“废话”时,将matlab字符串转换为java字符串时出错了

第二,在创建JAXbeElement时,不要使用内部的_类变量——它是使用

classlist = class.getClass.getClasses();
inner_class = classlist(1);
我使用blah.getClass()(其中blah是字符串的变量)

这张照片打印出来时没有任何限制。我现在意识到这更像是一个马沙林问题,而不是一个QName问题


问我为什么这些都是必要的,我不会给你一个答案:)

我自己解决了这个问题。你能把你的解决方案添加为答案吗?
 blah=java.lang.String('blah')
classlist = class.getClass.getClasses();
inner_class = classlist(1);