未检测到文档的语法约束(DTD或XML架构)(Android)
我和这里的很多人都有同样的问题,但我有xmlns:android和xml=。。。标签。 我仍然有同样的错误。我不想只是点击设置中的忽略而不是警告,所以问题就贴在这里了 资料来源是:未检测到文档的语法约束(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"
<?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>