针对 xsd 的 xml 模式转换问题在 Android 应用程序中给出非法异常

2024-04-23

我已经编写了一段代码来根据我的 android 应用程序中给定的 xsd 文件验证给定的 xml 文件。但它给出了非法异常错误。在一些帖子中我看到它是因为 java 版本较低。 但我的java版本是1.6.0_20。请检查下面的代码、错误日志和建议。

Code:

    try {
        // parse an XML document into a DOM tree
        parserFactory = DocumentBuilderFactory.newInstance();
        parserFactory.setNamespaceAware(true);
    } catch (Exception e) {
        Log.e("Exception", "ERROR Last : " + e);
        e.printStackTrace();
    }

    DocumentBuilder parser = null;
    try {
        parser = parserFactory.newDocumentBuilder();
    } catch (ParserConfigurationException e1) {
        e1.printStackTrace();
        Log.e("Exception", "ERROR 1: " + e1);
    }
    Document document = null;
    try {
        document = parser.parse(getResources().openRawResource(
                R.raw.change_pin_request_xaml));
    } catch (SAXException e1) {
        e1.printStackTrace();
        Log.e("Exception", "ERROR 2 : " + e1);

    } catch (IOException e1) {
        e1.printStackTrace();
        Log.e("Exception", "ERROR 3 : " + e1);
    }

    try {
        // create a SchemaFactory capable of understanding WXS schemas
        factory = SchemaFactory
                .newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
        // W3C_XML_SCHEMA_INSTANCE_NS_URI 
        // W3C_XML_SCHEMA_NS_URI

        // load a WXS schema, represented by a Schema instance
        schemaFile = new StreamSource(getResources().openRawResource(
                R.raw.change_pin_request_xsd));
    } catch (Exception e) {
        e.printStackTrace();
        Log.e("Exception", "ERROR special " + e);
    }
    Schema schema = null;

    try {
        schema = factory.newSchema(schemaFile);
    } catch (SAXException e1) {
        Log.e("Exception", "ERROR 4 : " + e1);
        e1.printStackTrace();
    }

    // create a Validator instance, which can be used to validate an
    // instance document
    Validator validator = schema.newValidator();

    // validate the DOM tree
    try {
        try {
            validator.validate(new DOMSource(document));
        } catch (IOException e) {
            Log.e("Exception", "ERROR 5 : " + e);
            e.printStackTrace();
        }
    } catch (SAXException e) {
        Log.e("Exception", "ERROR 6 : " + e);

    }

Error:

04-30 20:34:12.658: W/System.err(921): java.lang.IllegalArgumentException: http://www.w3.org/2001/XMLSchema
04-30 20:34:12.658: W/System.err(921):  at javax.xml.validation.SchemaFactory.newInstance(SchemaFactory.java:192)
04-30 20:34:12.658: W/System.err(921):  at com.xml.xsd.test.XmlXsdTestActivity.onCreate(XmlXsdTestActivity.java:64)
04-30 20:34:12.658: W/System.err(921):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-30 20:34:12.658: W/System.err(921):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
04-30 20:34:12.658: W/System.err(921):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
04-30 20:34:12.658: W/System.err(921):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-30 20:34:12.658: W/System.err(921):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
04-30 20:34:12.658: W/System.err(921):  at android.os.Handler.dispatchMessage(Handler.java:99)
04-30 20:34:12.658: W/System.err(921):  at android.os.Looper.loop(Looper.java:123)
04-30 20:34:12.658: W/System.err(921):  at android.app.ActivityThread.main(ActivityThread.java:3683)
04-30 20:34:12.669: W/System.err(921):  at java.lang.reflect.Method.invokeNative(Native Method)
04-30 20:34:12.669: W/System.err(921):  at java.lang.reflect.Method.invoke(Method.java:507)
04-30 20:34:12.669: W/System.err(921):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-30 20:34:12.669: W/System.err(921):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-30 20:34:12.669: W/System.err(921):  at dalvik.system.NativeStart.main(Native Method)
04-30 20:34:12.669: E/Exception(921): ERROR special java.lang.IllegalArgumentException: http://www.w3.org/2001/XMLSchema

这应该是一条评论,但由于我无法发表评论,因此我将其作为答案。

在 Package Explorer > Properties > Java Compiler 中右键单击您的项目

看看是否使用 1.6 进行编译。我遇到了一个奇怪的问题,这是因为 eclipse 是在 1.5 中编译的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

针对 xsd 的 xml 模式转换问题在 Android 应用程序中给出非法异常 的相关文章

  • 删除视图并重新创建它

    有没有办法删除设置的视图 setContentView R layout set map center mapView MapView findViewById R id mapview 如果我再次调用此视图 则会收到一条错误消息 java
  • Android Ble GATT_ERROR 133 经常使用三星设备

    我正在研究 BLE 应用程序 我已经使用 Nexus Moto Samsung LG 等不同设备进行了测试 我仅在三星设备中收到 GATT 错误 133 三星 A5 2016 尝试连接 10 次 但只连接了 2 或 3 次 请帮助我 Non
  • 如何使用gradle这样的格式更改apk名称?

    当我使用 gradle 构建应用程序时 我想将 app release apk 文件名更改为如下所示 format appname of package name V version code yyMMdd R T explain appn
  • 居中复选框视图

    如果除了 或代替 复选框之外 您还对单选按钮感兴趣 请参阅this https stackoverflow com questions 16701806 centering views 2而是提问 尽管存在
  • 在Android内存中存储gif图像

    我对安卓还很陌生 我想将图像保存到内存中 然后从内存中检索图像并将其加载到图像视图中 我已使用以下代码成功将图像存储在内存中 void saveImage String fileName img cnt jpg File file new
  • 调试 Java InterruptedException,即查找原因

    在调试Android应用程序时 有时中断异常发生并使应用程序崩溃 我已经能够在默认异常处理程序上设置断点 但调用堆栈不提供信息 at java util concurrent locks AbstractQueuedSynchronizer
  • Android 导航回到 Activity;不要重新加载父级

    我有一个场景 我单击 ListFragment 并启动一个新的 Activity 如下所示 public void onListItemClick ListView l View v int position long id super o
  • Kotlin 和惯用的书写方式,基于可变值“如果不为空,则...”

    假设我们有这样的代码 class QuickExample fun function argument SomeOtherClass if argument mutableProperty null doSomething argument
  • Flutter Spotify Api 身份验证

    我需要在使用 Spotify api 的 Flutter 应用程序中对用户进行身份验证 我使用 flutter web auth 打开 WebView 并让用户在那里登录 我无法返回应用程序 在 Spotify 仪表板中 我将回调 Uri
  • 返回主要活动(意图)时传递数据我做错了什么?

    我是安卓新手 这可能是最简单的问题 但我不明白这里出了什么问题 我试图创建一个通过意图传递值的基本示例 因此 当我关闭第二个活动时 我需要将数据传递到主活动 这是代码 意图测试1 主要活动 public void onClick View
  • 取消通知

    我使用Onesignal推送通知 需要取消所有onPause和onResume的通知 NotificationManager notificationManager NotificationManager getApplicationCon
  • 从 Handler.obtainMessage() 获取什么参数

    我正在使用线程来执行一些 BT 任务 我正在尝试向 UI 线程发送消息 以便我可以基于我的 BT 线程执行 UI 工作 为此 我使用处理程序 但我不知道如何检索发送到处理程序的数据 要发送数据 我使用 handler obtainMessa
  • 无法在 Java 中输出正确的哈希值。怎么了?

    在我的 Android 应用程序中 我有一个 SHA256 哈希值 我必须使用 RIPEMD160 消息摘要算法进一步对其进行哈希值 我可以输出任何字符串的正确 sha256 和ripemd160 哈希值 但是当我尝试使用ripemd160
  • MSMQ接收和删除

    是否有任何选项可以在读取消息后将其从 MSMQ 中删除 比如 接收 删除可以作为原子操作运行吗 听起来您想查看下一条消息 然后在处理完成后接收它 Message message Queue Peek Queue ReceiveById me
  • Android - 正确使用 invalidateOptionsMenu()

    我一直在寻找很多invalidateOptionsMenu 我知道它的作用 但我想不出这种方法在现实生活中有用的任何例子 我的意思是 例如 假设我们要添加一个新的MenuItem to our ActionBar 我们可以简单地获取菜单on
  • 如何在 Android 中保存 Edittext 中的文本而不丢失文本的粗体、斜体等功能

    我想做的就是从 Edittext 中获取文本 该文本具有粗体和斜体等功能 并将其保存在文本文件中 但是当我读回并显示它时 这些功能丢失了 它们不显示 如何通过将文本保存在文本文件或任何文件中来保持丰富的功能 您可以使用Html toHtml
  • 如何以编程方式创建 CardView

    我正在开发一个 Android 应用程序Java Android Studio 我想在活动中创建CardView以编程方式 我想将以下属性设置为CardView layout width wrap content layout row 0
  • 从多个 TextView 中选择文本

    如何在android中从多个文本视图中选择文本 我已经尝试过以下代码 该代码一次仅适用于一个文本视图 我想一次性从许多文本视图中复制文本 android textIsSelectable true 你不能同时这样做 您需要在单个文本视图中设
  • Android BLE 扫描永远找不到设备

    几天以来 我尝试在我的应用程序中实现 BLE 连接 我知道我尝试连接的设备功能齐全 因此问题一定是我的代码 我用BluetoothLeScanner startScan 方法 但回调方法永远不会被调用 public void startSc
  • Android中绑定适配器有什么用?

    我一直在阅读有关Android中绑定适配器的文章 但我似乎不明白它 何时使用绑定适配器 有人可以用一个简单的例子来解释它吗 我读过的一篇文章在主活动中有一个绑定适配器 绑定适配器有一个参数 toastMessage 显然 只要 toastM

随机推荐

  • 将数据库从 genymotion 模拟器拉到本地磁盘

    我在开发中使用 genymotion 当我创建数据库时 我在 genymotion 模拟器的 DDMS 文件夹中看不到它 在 google 上搜索时 我可以在 adb shell 上看到数据库 但不知道如何将数据库拉到本地磁盘以查看数据 有
  • 如何在php中每隔几秒使用打印语句和图像的功能刷新div

    我正在尝试构建一个主要使用 PHP 的浏览器纸牌游戏 也许还添加了一些其他有用的语言 以测试和扩展我的 PHP 知识 以及我一直想做的东西 但我读过并尝试实施的每个在线解决方案都不起作用 我不知道为什么 我有这样的逻辑 find game
  • 对于 Android 蓝牙,EXTRA_PREVIOUS_SCAN_MODE 始终返回错误

    当设备的蓝牙扫描模式更改 即可发现 不可发现 时 我使用以下代码将对象返回到 Cordova cordova getActivity getApplicationContext registerReceiver new BroadcastR
  • 如何使用 flash.filesystem.FileStream [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Will 如何使用flash filesystem FileStream FileStream as文件在哪里 班上flash files
  • 如何为我的单元测试创​​建 HttpContext?

    我正在努力模拟所需的HttpContext对于我的单元测试 我已经从我的 Mvc 控制器中抽象出了会话的控制SessionManager接口并用一个名为的类实现它CookieSessionManager 早期发展阶段 CookieSessi
  • 错误“无法复制文件,因为它正在被另一个进程使用

    我使用 C 语言使用 Windows 窗体应用程序 我有很多窗体 当我想从一个窗体遍历到另一个窗体时 我使用this Hide 当我使用此方法时 我收到显示的错误 我知道解决方案是使用 Windows 任务管理器结束进程 但问题是有什么方法
  • “忙等待”与“睡眠”的权衡是什么?

    这是我之前问题的延伸 unix linux 套接字中的阻塞模式如何工作 https stackoverflow com questions 1107391 how does blocking mode in unix linux socke
  • 是否有可嵌入的 Java 替代 Redis?

    根据这个线程 https stackoverflow com questions 3047010 best redis library for java 如果我想从Java中使用Redis Jedis是最好的选择 然而 我想知道是否有任何库
  • GetTokenInformation、TOKEN_OWNER 和 LookupAccountSidA

    我正在尝试使用这些功能来获取运行该进程的用户名 这是代码 include
  • 是否可以在GPU中实现Huffman解码?

    我们有一个用霍夫曼编码编码的数据库 这里的目的是将其及其关联的解码器复制到 GPU 上 然后在 GPU 上对数据库进行解码 并在解码后的数据库上执行操作 而无需将其复制回 CPU 上 我还远远不是霍夫曼专家 但我所知道的少数人表明 它似乎是
  • 如何在基于eclipse的Spring项目中添加bean配置文件?

    我从头开始处理 Spring 项目 当我尝试添加新的 Spring bean 配置文件时 我只是在那里看不到它 项目结构和选择向导如下 Figure 选择向导中没有 弹簧 部分 Figure project structure 如何在项目中
  • Scala 中的类型参数化

    所以我现在正在学习 Scala 我正在尝试创建一个向量空间为 3 x y z 坐标 的抽象向量类 我正在尝试将其中两个向量与以下代码相加 package math class Vector3 T ax T ay T az T def x a
  • 学习 CIL [已关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 EC2 实例创建中使用“无需密钥对继续”?

    我对 AWS 比较陌生 正在探索不同的可用选项 创建实例时 如果选择 在没有密钥对的情况下继续 我们将无法连接到该实例 文档中还有一条说明 说明不应选择此选项 那么这个选项的主要用途是什么呢 我们应该在哪些场景下使用它 选项Proceed
  • PDO 在 UTF-8 字符处截断字符串[重复]

    这个问题在这里已经有答案了 我使用的是 PHP 5 5 当我尝试在 MySQL 数据库中插入 UTF 8 字符时 PDO 在第一个非 ASCII 字符处将其截断 我已将连接设置为 DB TYPE host DB HOST dbname DB
  • 应用程序图标在 Android 设备上不可见

    我正在开发一款安卓游戏 它工作正常 但我有一个问题 如果我从我的android manifest我的应用程序图标可见 如果我不删除这些行 那么我的应用程序图标在我的 Android 上将不可见
  • 为什么在 CSS 中使用 div 宽度的百分比值?

    我正在阅读有关 css 的文章 我发现许多作者建议对 div 的宽度或高度使用 值 我一直在使用像素 为什么我应该使用 值来表示 div 的宽度或高度而不是像素 有什么优点 我个人不喜欢主要内容区域有 宽度的网站 因为不一致 整个网站最好使
  • 如何从 Java watchservice 取消注册目录?

    我向我的 watchService 注册了一个文件夹 path register watchService ENTRY CREATE ENTRY DELETE ENTRY MODIFY 后来我想取消这个注册 我知道我需要以某种方式告诉 wa
  • Ember 数据保存关系

    我很难在 ember 数据中保存一对多关系 我有这样的关系 App ParameterSet DS Model name DS attr string regions DS hasMany App Region App Region DS
  • 针对 xsd 的 xml 模式转换问题在 Android 应用程序中给出非法异常

    我已经编写了一段代码来根据我的 android 应用程序中给定的 xsd 文件验证给定的 xml 文件 但它给出了非法异常错误 在一些帖子中我看到它是因为 java 版本较低 但我的java版本是1 6 0 20 请检查下面的代码 错误日志