【问题标题】:No grammar constraints (DTD or XML schema) detected for the document (Android)未检测到文档的语法约束(DTD 或 XML 模式) (Android)
【发布时间】:2013-06-26 01:29:19
【问题描述】:

我和这里的许多人有同样的问题,但我确实有 xmlns:android 和 xml=... 标签。 我仍然有同样的错误。我不想只是在设置中单击忽略而不是警告,因此这里发布了问题。

来源是:

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >


</GridLayout>

错误:

“未检测到语法约束(DTD 或 XML 模式) 文档。 grid_layout_test2.xml /SomeProject/res/layout 第 1 行 XML 问题”

【问题讨论】:

    标签: android eclipse validation xml-parsing dtd xml


    【解决方案1】:

    对我来说,字符编码unix文件模式在Windows上运行eclipse是个问题:

    只需标记完整的代码,剪切并粘贴回来(简而言之:CtrlA-CtrlX-CtrlV),一切都很好 - 不再出现“无语法限制...”警告

    【讨论】:

    • 为我工作。添加从eclipse复制(控件c),粘贴到记事本(控件v)中,然后在记事本中全部选中(控件a),复制它(控件c),最后将其粘贴回eclipse中。从记事本粘贴和复制会删除所有文本格式,因为记事本只支持纯文本。
    • 工作得很好,谢谢。虽然在某些情况下我不得不剪切\粘贴\保存\剪切\粘贴才能使其工作。第一次粘贴后,Eclipse 将警告标记移到文件末尾,显然是一些编码或错误字符问题。
    【解决方案2】:

    我从错误问题中检索解决方案:

    1. 单击窗口 > 首选项 > XML > XML 文件 > 验证
    2. 将设置“验证文件”>“未指定语法”从警告更改为忽略。
    3. 重新验证您的项目。现在没有更多警告了。

    它对我有用。

    小心,我的解决方案是一种“我不明白所以我宁愿停用”...

    【讨论】:

    • 谢谢,但这正是我不想要的。如果您再次查看我的问题,您会看到:“我不想在设置中单击忽略而不是警告,因此此处发布了问题。” :)
    • @Hoornet 这似乎是 Eclipse 中的一个错误,因为即使从其中一个文件中删除所有内容并保存后,警告仍然存在。对于一些文件,我设法通过执行 CtrlA-CtrlX-CtrlV 来消除警告,但是一旦我忽略了所有警告,正如这个答案所解释的那样,并将 no grammar 放回 warning 状态,那些相同的文件再次出现相同的警告...&lt;!DOCTYPE ...&gt; 解决方案对我不起作用。所以我不会花更多时间来解决这个问题。
    【解决方案3】:

    Eclipse 解决方案:

    在每个有问题的 XML 的开头添加&lt;!DOCTYPE something&gt;

    在xml标签&lt;?xml version="1.0" encoding="utf-8"?&gt;之后

    你可以为doctype写任何东西,但据我所知,基本上它应该是manifest、activity等

    【讨论】:

    【解决方案4】:

    就我而言,我通过这个解决了这个问题

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE xml>
    

    【讨论】:

      【解决方案5】:

      你也可以添加

      <!DOCTYPE androidXML>
      

      下面

      <?xml version="1.0" encoding="utf-8" ?>
      

      然后只需右键单击您的项目并选择Validate

      【讨论】:

        【解决方案6】:

        试试下面的

        <?xml version="1.0" encoding="utf-8"?>
        <GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:tools="http://schemas.android.com/tools"
              android:layout_width="match_parent"
              android:id="@+id/grid"
              android:layout_height="match_parent" >
        
        </GridLayout>
        

        【讨论】:

        【解决方案7】:

        将标记的文件移到项目文件夹之外。(或移动包含标记文件的文件夹。) 刷新项目。(在项目资源管理器中选择项目,->) 移回文件。 刷新项目。

        【讨论】:

          【解决方案8】:

          简单的方法是先全选(ctrl+a) 剪掉它(ctrl+x) 比过去,同样的错误出现在大多数底部再次执行相同的过程并保存它,再次执行上述过程,而不是你的xml文件是免费的从这种类型的错误中。

          【讨论】:

            猜你喜欢
            • 2012-01-02
            • 2013-03-30
            • 2013-02-15
            • 2012-10-02
            • 1970-01-01
            • 2010-09-24
            • 2014-10-02
            • 1970-01-01
            相关资源
            最近更新 更多