错误:不允许匹配“[xX] [mM] [lL]”的处理指令目标

时间:2013-11-12 00:01:40

标签: java android xml eclipse

我正在使用eclipse来编写一个Android应用程序,我停了下来。我尝试用

关闭我的代码
<?xml version="1.0" encoding="utf-8"?>

但我一直收到错误消息

  

“处理指令目标匹配”[xX] [mM] [lL]“不是   允许“。

以下是代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="horizontal" >

<EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="text" >
        <requestFocus />

</EditText>  

<resources>
    <string android:name="app_name"></string>
    <string android:name="edit_message"></string>
    <string android:name="button_send"></string>
    <string android:name="action_settings"></string>
    <string android:name="title_activity_main"></string>
</resources>

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button_send" />

<EditText
        android:id="@+id/editText2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="text" >
        <requestFocus />

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

我犯了什么错误吗?如果我这样做,请通知我。

7 个答案:

答案 0 :(得分:16)

请确保在xml文件开头<?xml之前不应该有任何字符。 希望这会对你有所帮助

答案 1 :(得分:10)

是的,xml列表有几个错误(假设它只是一个文件)。

删除这些字符串资源,并将它们放在项目strings.xml文件夹中的res/values文件中。此外,strings.xml文件也应该以自己的<?xml version="1.0" encoding="utf-8"?>

开头
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string android:name="app_name"></string>
<string android:name="edit_message"></string>
<string android:name="button_send"></string>
<string android:name="action_settings"></string>
<string android:name="title_activity_main"></string>
</resources>

这不是错误,但您可能希望为这些字符串资源添加一些可能的文本标签,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string android:name="app_name">My Application Name</string>
<string android:name="edit_message"></string>
<string android:name="button_send">Send</string>
<string android:name="action_settings"></string>
<string android:name="title_activity_main"></string>
</resources>

不要忘记用以下方法关闭LinearLayout:

</LinearLayout>

删除两个requestFocus中的一个,我假设你应该每个布局只有一个(假设再次,你只想向我们展示一个文件而不是多个文件)。

<requestFocus />

删除最后一行(这就是Eclipse所抱怨的):

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

您确实从xml文件的第一行开始保留一个,但是从最后一行删除了一个,因为该类型的指令不会关闭。

如果这解决了所有问题,请告诉我。我无法确定它是否因为我没有花时间打开我的其他计算机并检查Eclipse。

答案 2 :(得分:2)

是的,<?xml之前不应该有任何字符..甚至不是空白字符..我有同样的问题..已经解决..

答案 3 :(得分:0)

1)在XML文件中使用或标记时,请确保您的代码不包含任何未声明的变量(在string.xml文件中)

2)确保“R.java”文件反映了所有使用的变量。

3)重新构建项目并验证。

答案 4 :(得分:0)

打开manifest.xml按ctrl+A然后按ctrl+I。它会自动格式化manifest.xml。

答案 5 :(得分:0)

如果语法正确并且您仍然收到此错误,则只需打开xml文件并右键单击并选择验证。

答案 6 :(得分:0)

1.确保您已经在清单文件的开头写了... 2.确保文件前不应该有任何字符...