Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/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 I';我正在尝试反序列化XML,并为某些属性获取null_Java_Eclipse_Xml Deserialization_Emf_Ecore - Fatal编程技术网

Java I';我正在尝试反序列化XML,并为某些属性获取null

Java I';我正在尝试反序列化XML,并为某些属性获取null,java,eclipse,xml-deserialization,emf,ecore,Java,Eclipse,Xml Deserialization,Emf,Ecore,我试图将下面的XML反序列化为一个对象,但其中一个值(必需)返回null <?xml version="1.0" encoding="UTF-8"?> -<sy:config xmlns:sy="http://www.example.com/def/sy"> -<sy:configurations> -<sy:configuration property="isReq"

我试图将下面的XML反序列化为一个对象,但其中一个值(必需)返回null

<?xml version="1.0" encoding="UTF-8"?>
-<sy:config xmlns:sy="http://www.example.com/def/sy">
 -<sy:configurations>
  -<sy:configuration property="isReq" name="ABC">
    **Required**
    <atom:link title="ABC Uri" xmlns:atom="http://www.w3.org/2005/Atom" rel="http://www.example.com/def//id" 
    href="abc/bc/def/docid"/>
   </sy:configuration>
 </sy:configurations>
</sy:config>
enter code here

-
-
-
**必需的**
在这里输入代码
我正在使用下面的代码来反序列化eclipse emfutil以进行反序列化,您能告诉我为什么configuration.getvalue()返回null而不是“Required”吗

private static <T extends EObject> T readEObjectFromInputStream(InputStream inputStream, String emfFileExtension,Class<T> expectedResultType) throws IOException {
        org.eclipse.emf.common.util.URI emfResourceUri = org.eclipse.emf.common.util.URI
                .createPlatformResourceURI(FILE_PATH + emfFileExtension, true);
        Resource emfResource = new ResourceSetImpl().createResource(emfResourceUri);

        emfResource.load(inputStream, null);
        EObject eObject = emfResource.getContents().get(0);

        T result = expectedResultType.cast(eObject);
        return result;
    }
private static T readEObjectFromInputStream(InputStream InputStream,字符串emfFileExtension,类expectedResultType)引发IOException{
org.eclipse.emf.common.util.URI emfResourceUri=org.eclipse.emf.common.util.URI
.createPlatformResourceURI(文件路径+emfFileExtension,true);
Resource emfResource=new ResourceSetImpl().createResource(emfResourceUri);
加载(inputStream,null);
EObject EObject=emfResource.getContents().get(0);
T结果=expectedResultType.cast(EOObject);
返回结果;
}
Eclipse论坛上的帖子提供了一个如何做到这一点的示例,并讨论了它可能不起作用的几个原因

以下是完整的示例:

try {       ResourceSet resourceSet = new ResourceSetImpl();
            Resource resource = resourceSet.createResource(URI.createURI("http:///My.chbasev21"));
            DocumentRoot documentRoot = ChbaseV21Factory.eINSTANCE.createDocumentRoot();
            CompanyDetailsType root = ChbaseV21Factory.eINSTANCE.createCompanyDetailsType();
            documentRoot.setCompanyDetails(root);
            resource.getContents().add(documentRoot);
            //resource.save(Collections.EMPTY_MAP);
            resource.save(System.out, null);
            resource.save(new FileOutputStream("C:/test2.xml"), null);
        }
        catch (IOException exception) {
            exception.printStackTrace();
        }

实际上,“configuration.getvalue()”在这段代码中的位置是什么?请指定什么是
expectedResultType
,以及在
expectedResultType.cast中发生了什么。您是否解决了您的问题?您可能只想澄清一下您的问题,而不是在赏金上浪费声誉。您粘贴的XML不是有效的XML—您可能是从某个GUI复制了它,并附带了一些格式。其次,为什么要使用EMF来实现这一点?为什么不仅仅是标准的JavaXML库?你会在网上找到更多关于这方面的信息,然后是关于特定于供应商的产品。