【发布时间】:2014-08-24 12:28:16
【问题描述】:
为了简化问题陈述,我正在尝试搜索并查看我的文件中是否存在某个元素。我的 XML 文件是一个 AndroidManifest.xml 文件,用于 Android 应用程序。具体来说,我正在搜索“uses-permission”类型的元素,其元素名称为“android:name”,值为“android.permission.INTERNET”。够简单吧?
查询是,
IEnumerable<XElement> address =
from el in _rootElement.Elements( "uses-permission" )
where (string)el.Attribute( "android:name" ) == "android.permission.INTERNET"
select el;
问题是“android:name”中的命名空间不能在查询中使用。那么我该如何进行这个查询呢?我在其他地方看到了一些抱怨和建议,但无法将它们合并到我的具体查询中。
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.app.myapp">
<uses-permission android:name="android.permission.INTERNET"/>
<application android:allowBackup="true" android:icon="@drawable/app_icon" android:label="App">
<activity android:configChanges="fontScale|keyboard|keyboardHidden" android:name="com.unity3d.player.UnityPlayerProxyActivity" android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
【问题讨论】:
标签: c# xml linq linq-to-xml xml-namespaces