Android 如何在vim中解析xml文件?

Android 如何在vim中解析xml文件?,android,vim,Android,Vim,我目前正在从事一个android项目。现在我想完成一项工作:解析一个名为AndroidManifest.xml的xml文件,并从中获取一些属性。并在vim中设置一些值 这是AndroidManifest.xml文件 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.base.m

我目前正在从事一个android项目。现在我想完成一项工作:解析一个名为
AndroidManifest.xml
的xml文件,并从中获取一些属性。并在vim中设置一些值

这是AndroidManifest.xml文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.base.module.callhistory"
      android:versionCode="1"
      android:versionName="1.0">
      <uses-permission android:name="android.permission.READ_CONTACTS" />
      <uses-permission android:name="android.permission.WRITE_CONTACTS" />
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
      <application android:label="@string/app_name"
          android:theme="@android:style/Theme.Light.NoTitleBar"
          android:icon="@drawable/call_history">
        <activity android:name="HistoryMainActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity android:name="HistoryListActivity">
            <intent-filter>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

        <activity android:name="DetailListActivity">
            <intent-filter>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

    </application>
</manifest> 


我想在
中解析
package=“com.base.module.callhistory”
HistoryListActivity
,考虑xmlstarlet、xmllint--xpath

否则,您可以使用perl或python来实现您的目标,如果您在中编译了它(通常打包版本会这样做)


不管怎样,您仍然可以使用nomarl搜索(
/
)模式和c i t来替换标记内容

我和您有一个类似的需求,我刚刚为此任务编写了一个自定义python脚本