错误:文档中未检测到语法约束(DTD或XML模式)

3

我在这个xml文件上遇到了问题,如标题所述。 我不知道该如何解决这个问题,因为我已经搜索了很多,只找到了像使用clean或将此类型的验证更改为ignore之类的答案。 以上都没有起作用,我希望能够清除这个问题,以便我的R可以在gen文件夹中生成。

希望有人能尽快看到这个问题,因为这是我正在进行的考试项目,没有解决这个错误我就无法继续 :)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Dekrypter" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="@string/hello_world" />

</RelativeLayout>

1
你的文件顶部是否声明了 <?xml version="1.0" encoding="utf-8"?>? - gian1200
现在我有了。它确实解决了那个问题,但是现在同样的错误出现在我刚刚实现的新文本中。这个 <?xml version="1.0" encoding="utf-8"?> - Jacob Holm Mortensen
在编程中,错误和警告(红色和黄色)是有区别的。如果您正在使用Eclipse,请尝试清理并重建您的项目。 - gian1200
我发现了另一个问题,它没有在错误消息中列出,但解决了这个问题后一切都正常了 :P 谢谢。 - Jacob Holm Mortensen
好的(Y)。愉快编码 :D - gian1200
可能是[No grammar constraints (DTD or XML schema) detected for the document]的重复问题。 - avalancha
5个回答

4

请使用以下内容开始您的XML文档:

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

2
解决方案是在xml文档的顶部添加此代码。它可以识别要编码的文档类型!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>

重新验证项目!
你好!

1

我从错误问题中找到了一个解决方案:

  1. 点击“Window”>“Preferences”>“XML”>“XML Files”>“Validation”
  2. 将设置“验证文件”>“未指定语法”的警告更改为忽略。
  3. 重新验证您的项目。现在没有更多警告了。

对我有效。


如果您设置了DOCTYPE,则验证将正常进行。无需禁用验证。 - Italo Borssatto
正是我所需要的。我不想因为Eclipse认为我应该这样做而在每个地方都添加DOCTYPE。 - Florian F

0

0

添加

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

将此代码添加到您的XML文件顶部。这会告诉解析器您的文件确实是一个XML文件,应该使用XML版本1.0,并且您正在使用utf-8编码。
如果没有它,解析器不知道如何解析您的XML文件。

谢谢你的解释,但正如我在另一条评论中所写的,它只是引起了另一个问题:( 你知道这个问题的原因吗? - Jacob Holm Mortensen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接