Java:JAXBElement的QName,没有名称空间或前缀?(使用matlab)
我对JAXB和Java相当陌生。我使用了xjc,并且正在使用我自己的名称空间映射器覆盖自定义ns1 ns2 etc名称空间。java是通过Matlab运行的,因此它的格式与普通java不完全相同。不过,任何直接的Java答案都可以,因为我应该能够转换它 以下是我想要的: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
<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);