为标签 LinearLayout 找到了意外的命名空间前缀“xmlns”
Posted
技术标签:
【中文标题】为标签 LinearLayout 找到了意外的命名空间前缀“xmlns”【英文标题】:Unexpected namespace prefix "xmlns" found for tag LinearLayout 【发布时间】:2013-02-01 17:21:02 【问题描述】:我在关注 xml 文件时出错。 “”。我也尝试了其他类似问题中提供的解决方案,但它对我不起作用。在使用 LinearLayout
的 3 行中发生了相同的错误。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:background="@drawable/background" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical" >
<TextView
android:id="@+id/menu_top_text"
android:layout_
android:layout_
android:text="@string/name_version"
android:textColor="@color/black"
android:textSize="20sp" />
<LinearLayout
android:layout_
android:layout_
android:orientation="horizontal" >
</LinearLayout>
<!-- A horizontal line -->
<FrameLayout
android:layout_
android:layout_ >
</FrameLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:gravity="center_horizontal"
android:orientation="vertical" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:gravity="center"
android:orientation="horizontal" >
<Button
android:id="@+id/start_stop_button"
android:layout_
android:layout_
android:text="@string/start_server" />
<Button
android:id="@+id/instructions"
android:layout_
android:layout_
android:text="@string/instructions_label" />
<Button
android:id="@+id/setup"
android:layout_
android:layout_
android:text="@string/setup_label" />
</LinearLayout>
</LinearLayout>
<FrameLayout
android:layout_
android:layout_ >
</FrameLayout>
<!-- A horizontal line -->
<FrameLayout
android:layout_
android:layout_
android:background="#666666" >
</FrameLayout>
<FrameLayout
android:layout_
android:layout_ >
</FrameLayout>
<TableLayout
android:layout_
android:layout_
android:shrinkColumns="2" >
<TableRow>
<TextView
android:layout_
android:layout_
android:gravity="left"
android:text="@string/server_status"
android:textColor="@color/black"
android:textSize="16sp" />
<!-- A small spacer between the columns -->
<FrameLayout
android:layout_
android:layout_ />
<TextView
android:id="@+id/server_status"
android:layout_
android:layout_
android:text="@string/unknown"
android:textColor="@color/black"
android:textSize="16sp" />
</TableRow>
</TableLayout>
<FrameLayout
android:layout_
android:layout_ >
</FrameLayout>
<!-- A horizontal line -->
<FrameLayout
android:layout_
android:layout_
android:background="#666666" >
</FrameLayout>
<FrameLayout
android:layout_
android:layout_ >
</FrameLayout>
<TableLayout
android:layout_
android:layout_
android:shrinkColumns="2" >
<TableRow>
<TextView
android:layout_
android:layout_
android:gravity="left"
android:text="@string/my_url_is"
android:textColor="@color/black"
android:textSize="16sp" />
<!-- A small spacer between the columns -->
<FrameLayout
android:layout_
android:layout_ />
<TextView
android:id="@+id/ip_address"
android:layout_
android:layout_
android:text="@string/no_url_yet"
android:textColor="@color/black"
android:textSize="16sp" />
</TableRow>
<TableRow>
<TextView
android:layout_
android:layout_
android:gravity="left"
android:text="@string/wifi_status"
android:textColor="@color/black"
android:textSize="16sp" />
<!-- A small spacer between the columns -->
<FrameLayout
android:layout_
android:layout_ />
<TextView
android:id="@+id/wifi_status"
android:layout_
android:layout_
android:text="@string/unknown"
android:textColor="@color/black"
android:textSize="16sp" />
</TableRow>
<TableRow>
<TextView
android:id="@+id/last_error_label"
android:layout_
android:layout_
android:gravity="left"
android:text="@string/last_error"
android:textSize="16sp"
android:visibility="gone" />
<!-- A small spacer between the columns -->
<FrameLayout
android:layout_
android:layout_ />
<TextView
android:id="@+id/last_error"
android:layout_
android:layout_
android:text="@string/unknown"
android:textColor="#ff0000"
android:textSize="16sp"
android:visibility="gone" />
</TableRow>
</TableLayout>
<FrameLayout
android:layout_
android:layout_ >
</FrameLayout>
<!-- A horizontal line -->
<FrameLayout
android:layout_
android:layout_
android:background="#666666" >
</FrameLayout>
<!--
<TextView android:id="@+id/proxy_header"
android:layout_
android:layout_
android:text="@string/proxy_experimental"
android:textSize="16sp"
/>
-->
<TableLayout
android:layout_
android:layout_
android:shrinkColumns="2" >
<TableRow>
<!--
<TextView
android:layout_
android:layout_
android:text="@string/proxy_status"
android:textSize="16sp"
android:gravity="left"
/>
-->
<!-- A small spacer between the columns -->
<FrameLayout
android:layout_
android:layout_ />
</TableRow>
<TableRow>
<!-- A small spacer between the columns -->
<FrameLayout
android:layout_
android:layout_ />
</TableRow>
<TableRow>
<!-- A small spacer between the columns -->
<FrameLayout
android:layout_
android:layout_ />
</TableRow>
<TableRow>
<!-- A small spacer between the columns -->
<FrameLayout
android:layout_
android:layout_ />
</TableRow>
</TableLayout>
<!-- A horizontal line -->
<FrameLayout
android:layout_
android:layout_
android:background="#666666" >
</FrameLayout>
<!-- A horizontal line -->
<FrameLayout
android:layout_
android:layout_
android:background="#666666" >
</FrameLayout>
<LinearLayout
android:layout_
android:layout_
android:orientation="horizontal"
android:visibility="gone" >
<TextView
android:layout_
android:layout_
android:text="@string/server_log"
android:textColor="#ffffff" />
<CheckBox
android:id="@+id/server_log_checkbox"
android:layout_
android:layout_
android:checked="false" />
</LinearLayout>
<TextView
android:id="@+id/server_log"
android:layout_
android:layout_
android:background="#333333" />
<!-- A horizontal line -->
<FrameLayout
android:layout_
android:layout_
android:background="#666666"
android:visibility="gone" >
</FrameLayout>
<LinearLayout
android:layout_
android:layout_
android:orientation="horizontal"
android:visibility="gone" >
<TextView
android:layout_
android:layout_
android:text="@string/session_monitor"
android:textColor="#ffffff"
android:visibility="gone" />
<CheckBox
android:id="@+id/session_monitor_checkbox"
android:layout_
android:layout_
android:checked="false"
android:visibility="gone" />
</LinearLayout>
<TextView
android:id="@+id/session_monitor"
android:layout_
android:layout_
android:background="#333333"
android:visibility="gone" />
<!-- A horizontal line -->
<FrameLayout
android:layout_
android:layout_
android:background="#666666" >
</FrameLayout>
<!-- It's visually pleasing to have some empty space at the bottom -->
<FrameLayout
android:layout_
android:layout_ />
</LinearLayout>
</ScrollView>
【问题讨论】:
【参考方案1】:请尝试以下操作:
从除ScrollView
之外的所有位置中删除xmlns:android="http://schemas.android.com/apk/res/android
。我相信在 xml 文件的最外层布局或视图中通知应用程序一次就足够了。
【讨论】:
解析器拒绝重复的命名空间声明是非常奇怪的(并且不符合标准)。这是哪个 XML 解析器? 先生,如何查看正在使用的解析器?我一直在使用 Eclipse ADT 包附带的默认解析器。 谢谢,将 xmlns 行留在主线性布局中,并将其从其余嵌套布局中删除。【参考方案2】:我用各种代码多次遇到这个问题。
这些代码过去运行得非常好,但现在它们显示这些错误......
我找到了一个非常简单的解决方案,不需要任何代码更改(添加、编辑或删除)。
转到选项卡上的项目选项卡 单击选项卡 从列表中选择“清理....”
您将看到在您的工作空间中打开的所有项目的列表。
您可以选择一个项目或全部(我通常会“清理所有项目”)。 单击确定。 对于大约 10 个项目,该过程大约需要 5-7 秒。 所有 XMLNS 错误都已解决... 在尝试任何其他解决方案之前,您应该先尝试一下...... 这就像为 Window 的错误重新启动系统一样,它可以解决 70% 的问题...
上述解决方案更像是一种适用于所有情况的临时解决方案。 为了避免以后出现这种情况,我把所有的 xmlns 代码放在一起。 (可能有重复的语句,可能需要删除)
我在 XML 文件上集成 Admob 时遇到了这个问题。
【讨论】:
当然。这是人们应该尝试的第一件事。多次清理项目工作和其他一些解决方案建议相同。但是,即使在那之后它对我也不起作用,并且删除了那条线。 如果您甚至不想等待项目清理时间,请在 eclispe 中打开问题视图,选择来自 xml 命名空间的错误并删除它们(按 Canc 或在上下文菜单中选择删除) .有趣的日食,不是吗? 大家好,上面的解决方案与我不匹配,但这个解决方案非常完美,效果很好......非常感谢@Sudhir ..【参考方案3】:在 Android xml 文件中,Android 命名空间可以:
只能声明一次 只能在 xml 层次结构的顶部('外部')AndroidView
中声明
否则您将在构建项目时收到错误消息。在您的情况下,顶部的 Android 视图是 ScrollView
,所以请保留
xmlns:android="http://schemas.android.com/apk/res/android"
在ScrollView
中,并将其从所有其他嵌套的Views
中删除,包括LinearLayout
。
【讨论】:
【参考方案4】:对于突然看到此消息出现的人,Sudhir
的评论应该是公认的答案。我认为英语不是 那么 好:所以如果你挣扎:在 eclipse 中去到 project
菜单点击 clean...
并选择 clean all projects
这将在之前丢失的情况下删除随机出现的消息
【讨论】:
就我而言,@Shobhit 的回答是正确的。 Sudhir 关于进行全面清理/重建的建议虽然有效,但对大多数用户来说太明显了。 我同意@DavidManpearl,Sudhir 的回答是一种解决方法,Shobhit 的回答是一种永久的解决方案【参考方案5】:我认为删除不需要的行是一种更合适的方式,因为:
1) 清理项目只会解决一次问题。如果你再次启动项目或从另一个文件切换到这个 xml 文件,它会再次显示错误。
2) 更重要的是,“xmlns:XXX
”应该是第一个节点的属性。
【讨论】:
【参考方案6】:xmlns:android="http://schemas.android.com/apk/res/android
去掉上面的标签
并保持
<fragment
..........
........
........
......../>
或</fragment>
【讨论】:
【参考方案7】:为了让这个问题永远消失,而不会对源进行大规模更改(这会给版本跟踪带来噪音):
转到“问题”选项卡——右键单击消息——选择“快速修复”。 将出现一个窗口,您可以在其中告诉 Eclipse 忽略项目中的此问题(或仅在一个文件中,如果您愿意)。
之后,XML就可以编译好了。
【讨论】:
以上是关于为标签 LinearLayout 找到了意外的命名空间前缀“xmlns”的主要内容,如果未能解决你的问题,请参考以下文章
xml 中的 Android 谷歌地图片段。我得到“意外的命名空间前缀”
部署Django+React到Heroku - 未捕获的语法错误。意外的标记'<'