错误:不允许匹配“[xX][mM][lL]”的处理指令目标[重复]
Posted
技术标签:
【中文标题】错误:不允许匹配“[xX][mM][lL]”的处理指令目标[重复]【英文标题】:ERROR:The processing instruction target matching "[xX][mM][lL]" is not allowed [duplicate] 【发布时间】:2013-11-23 23:15:28 【问题描述】:我正在使用 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_
android:layout_
android:orientation="horizontal" >
<EditText
android:id="@+id/editText1"
android:layout_
android:layout_
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_
android:layout_
android:text="@string/button_send" />
<EditText
android:id="@+id/editText2"
android:layout_
android:layout_
android:ems="10"
android:inputType="text" >
<requestFocus />
</EditText>
<?xml version="1.0" encoding="utf-8"?>
我犯了什么错误吗?如果我这样做了,请告诉我。
【问题讨论】:
XML 文件在<?xml
之前不能有任何其他字符,甚至不能有空格、换行符或Unicode 字节顺序标记。如果您没有看到任何内容,则很可能是 BOM。将 XML 文件重新保存为 ASCII 或 Unicode-without-BOM(不要使用 Windows 记事本创建和编辑 XML!)
解决了导致此错误消息的 三个 可能原因中的每一个的解决方法here。
在我的情况下,我的 xml 布局文件中有两次 这行。我删除了它,它可以工作。
【参考方案1】:
请确保 xml 文件开头的<?xml
之前没有任何字符。
希望对你有帮助
【讨论】:
我在描述中提到了这个异常,但它只发生在第一次..下次我尝试解析它时一切都很好..如何解决,即使是第一次我也不应该得到它【参考方案2】:是的,那个 xml 列表有几个错误(假设它只是一个文件)。
删除这些字符串资源并将它们放在项目的res/values
文件夹内的自己的strings.xml
文件中。此外,该 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。
【讨论】:
感谢您的回复。我将更改代码,看看它是否有效。 嗨。不幸的是,当我将关闭添加到线性布局选项卡时,我仍然遇到错误。我收到此消息“元素类型“LinearLayout”必须后跟属性规范,“>”或“/>”。如果能得到任何帮助,我将不胜感激。谢谢。 删除 xmlns:tools="schemas.android.com/tools"。只保留以 xmlns:android= 开头的那个(如果您仍然遇到同样的错误,请在此处发表您的最后一行作为评论。) 嗨。不幸的是,我仍然遇到同样的错误。这是我的线性布局代码:schemas.android.com/apk/res/android" android:layout_ android:layout_ android:方向="水平" 【参考方案3】:是的,<?xml
之前不应该有任何字符..甚至空白字符..我遇到了同样的问题..得到了解决..
【讨论】:
【参考方案4】:1) 在 XML 文件中使用或标记时,请确保您的代码不包含任何未声明的变量(在 string.xml 文件中)
2) 确保“R.java”文件反映了所有使用的变量。
3) 重新构建您的项目并进行验证。
【讨论】:
【参考方案5】:打开 manifest.xml 按 ctrl+A
然后 ctrl+I
。它会自动格式化您的 manifest.xml。
【讨论】:
【参考方案6】:如果语法正确并且仍然出现此错误,则只需打开 xml 文件并右键单击并选择验证。
【讨论】:
这应该是一条评论【参考方案7】:1.确保您已在清单文件的开头写... 2.确保文件前不应该有任何字符...
【讨论】:
1.确保你在manifest文件的开头写了... 2.确保 ....之前不应该有任何字符以上是关于错误:不允许匹配“[xX][mM][lL]”的处理指令目标[重复]的主要内容,如果未能解决你的问题,请参考以下文章
不允许匹配“[xX][mM][lL]”的处理指令目标[重复]
Maven 发布插件:不允许匹配“[xX][mM][lL]”的处理指令目标