Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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 在Matlab中解析xml(使用JAXB)_Java_Xml_Matlab_Xsd_Jaxb - Fatal编程技术网

Java 在Matlab中解析xml(使用JAXB)

Java 在Matlab中解析xml(使用JAXB),java,xml,matlab,xsd,jaxb,Java,Xml,Matlab,Xsd,Jaxb,我试图在Matlab中解析一个基于xsd的xml文件 正如本文所建议的,我正试图使用JAXB来实现这一点,但我被卡住了 我能够通过创建表示xsd级别的.java类文件 xjc myFile.xsd–windows命令行中的myd目录 我读过另一个帖子中的链接文章,但现在我不知道如何继续 在使用Matlab之前,接下来的步骤是什么 提前谢谢 编辑: Matlab版本为2010b Java 1.6.0_17 编辑2: 我现在尝试了JAXB.unmarshalinput、MyClass.class,因

我试图在Matlab中解析一个基于xsd的xml文件

正如本文所建议的,我正试图使用JAXB来实现这一点,但我被卡住了

我能够通过创建表示xsd级别的.java类文件

xjc myFile.xsd–windows命令行中的myd目录

我读过另一个帖子中的链接文章,但现在我不知道如何继续

在使用Matlab之前,接下来的步骤是什么

提前谢谢

编辑:

Matlab版本为2010b Java 1.6.0_17

编辑2:

我现在尝试了JAXB.unmarshalinput、MyClass.class,因为我只使用上面提到的命令行输入,通过使用EclipseJAXB项目就获得了MyClass.class,这只是给了我MyClass.java文件。 但是Matlab找不到JAXB.unmarshal方法,可能是因为Matlab?的java版本?。 将文件夹(其中我的包是inD:\PathToMyPackage\my\package\MyClass.class)添加到Matlab中的动态java路径后 javaaddpath'D:\PathToMyPackage'导入'my.package'后,我还尝试: jc=JAXBContext.newInstance'my.package' jc=JAXBContext.newInstance'ObjectFactory.class' jc=JAXBContext.newInstance'my.package.ObjectFactory.class'

但是每次我都会得到一个JAXB异常,例如

javax.xml.bind.JAXBException:my.package不包含 ObjectFactory.class或jaxb.index

虽然它们在文件夹里

那么,只有在Matlab中才能执行整个JAXB任务吗?或者我必须先在eclipse中封装一些类,然后将其导出为一个.jar文件,然后在Matlab中导入

如果可能,我会犯哪些错误?或者什么会产生影响?
eclipse中较新的Java版本,Matlab中的动态Java路径?

如果您使用Java 8并且不需要xml验证,那么将.xml源代码转换为Java对象非常容易:

MyClass myObject = JAXB.unmarshal(input, MyClass.class);
在这里,输入是InputStream、文件、URL等,指向.xml源,MyClass是一个表示根元素的类,它具有@XmlRootElement注释。它可以在xjc生成的类中找到

请参阅更多:

你被困在哪里?链接的问题要求您在Matlab中导入生成的java文件…感谢您的回答,但不幸的是,我在Matlab 2010b中使用了java 1.6_17。我尝试了一些方法,但无法使其工作。请参见上面的编辑