给定以下XML示例,我们可以想象一个模式将Root定义为包含Type1和Type2之间的未绑定数量的选择序列.
<Root>
<Type1 />
<Type2 />
<Type2 />
<Type1 />
</Root>
Run Code Online (Sandbox Code Playgroud)
我正在测试从XSD.exe工具迁移,虽然添加类型安全有很多小烦恼.在这种情况下,XSD工具只是在Root中创建一个System.Object类型的数组,你必须弄清楚那里有什么类型的对象(Type1或Type2).它并不完全优雅,但至少你保留了秩序.
问题是当LINQ to XSD创建对象时,它将Root定义为具有两个独立的Type1和Type2列表.这很棒,因为它是类型安全的,但我现在似乎失去了元素的顺序.我在codeplex上从源代码构建了LINQ to XSD.
使用LINQ to XSD,我如何保留这些元素的顺序?
我得到了示例HelloJni项目,它使用C文件作为本机代码.我无法使用C++获得任何简单的示例.采用以下JNI代码:
#include <jni.h>
#include <string.h>
JNIEXPORT void JNICALL Java_com_test_testActivity_doSomething(JNIEnv * env, jobject obj)
{
}
Run Code Online (Sandbox Code Playgroud)
如果我在.c文件中有代码,它可以正常工作.如果我将扩展名更改为.cpp,它编译得很好,但在运行时会爆炸(强制关闭).由于库和方法签名在任何一种方式都是相同的,我不怀疑问题是在Java端.