gpt4 book ai didi

java - 如何不将 DocumentRoot 写入 XML

转载 作者:行者123 更新时间:2023-12-01 05:59:07 24 4
gpt4 key购买 nike

我正在使用 EMF,并从 XSD 创建了我的 ecore。

我注意到编辑器保存的 XML 具有元素 DocumentRoot,它不是我原始 XSD 的一部分。我可以以某种方式不生成它,这样它就不会出现在编辑器的 XML 文件中吗?

伊多

最佳答案

If you have no global elements or attributes in your schema, then you won't get a document root. But of course your schema has not specified a single way to write a document in this case, it's only defined types and stuff that can be used in another schema. Some schema will need to declare a global element in order to specify the root of a document.

来源:dev.eclipse.org

A document root is created if your model has one and you are using the extended meta data option during loading. The document root has features that correspond to each of your global elements, and the particular feature of the document root that's actually set when deserializing will correspond exactly to the root element that appears in the serialization. Using EObject.eContents().get(0) on the document root instance will return the child EObject of the document root, and that child's eContainmentFeature() will correspond to your global element.

It's good to keep in mind that elements correspond to features that that types correspond to classifiers. Since an EClass corresponds to a complex type, having an instance of an EClass (complex type) is not sufficient information to say what element that should be serialized as; that's determined by eContainmentFeature(), so that's why a document root is needed to specify the root element, because without an eContainer there cannot be a meaningful eContainmentFeature().

来源:dev.eclipse.org

尝试mailing list .

关于java - 如何不将 DocumentRoot 写入 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1705803/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com