Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.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
未检测到文档的语法约束(DTD或XML架构)(Android)_Android_Eclipse_Validation_Xml Parsing_Dtd_Xml - Fatal编程技术网

未检测到文档的语法约束(DTD或XML架构)(Android)

未检测到文档的语法约束(DTD或XML架构)(Android),android,eclipse,validation,xml-parsing,dtd,xml,Android,Eclipse,Validation,Xml Parsing,Dtd,Xml,我和这里的很多人都有同样的问题,但我有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"

我和这里的很多人都有同样的问题,但我有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\u layout\u test2.xml/SomeProject/res/layout line 1 xml 问题

试试下面的方法

<?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>
Eclipse的解决方案:

添加到每个有问题的XML的开头

在xml标记之后


您可以为doctype编写任何内容,但基本上应该是清单、活动等。据我所知,我从一个bug问题中检索到一个解决方案:

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


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

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


只需标记完整的代码,简单地剪切并粘贴回来:CtrlA CtrlX CtrlV,一切都很好-不再有语法约束。。。警告

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

最简单的方法是首先选择allctrl+a剪切它ctrl+x比过去,相同的错误出现在最底部,再次执行相同的过程并保存它,然后执行上述过程,这样xml文件就不会出现这种错误。

您还可以添加

<!DOCTYPE androidXML>
下面


然后右键单击您的项目并选择“验证”

在我的例子中,我通过以下方法解决了这个问题

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

dtd设置中是否有xmlns:android=?我不认为这个链接不是最新的。例如,答案说您应该选择:As key type:Namespace name,但是这个选项已经不存在了……谢谢,但这正是我不想要的。如果您再次查看我的问题,您将看到:我不想只单击设置中的“忽略”而不是“警告”,因此问题在此处发布:@Hoornet这似乎是Eclipse中的一个bug,因为即使从其中一个文件中删除所有内容并保存,警告仍然存在。对于一些文件,我通过执行CtrlA CtrlX CtrlV成功地消除了警告,但一旦我忽略了所有警告,正如这个答案所解释的,并将“无语法”重新设置为警告状态,这些相同的文件又出现了相同的警告。。。这个解决方案对我不起作用。所以我不会再花更多的时间去想这个问题了。从eclipse控件c添加到copy,粘贴到Notepad控件v中,然后在Notepad控件a中选择全部内容,将其复制到控件c中,最后将其粘贴回eclipse中。从记事本粘贴和复制将删除所有文本格式,因为记事本只支持纯文本。效果很好,谢谢。虽然有时我不得不剪切\粘贴\保存\剪切\粘贴才能工作。在第一次粘贴Eclipse将警告标记移到文件末尾之后,显然有些编码或坏字符问题。DOCTYPE描述DTD在这里得到了很好的解释:基本上,它应该是或在您的情况下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>