Как разобрать xml файл в vim? - PullRequest
4 голосов
/ 27 февраля 2012

Я сейчас работаю над проектом Android.И теперь я хочу завершить работу: парсинг XML-файла с именем AndroidManifest.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 в <activity android:name="HistoryMainActivity".Затем я могу использовать эти два значения, чтобы составить команду для автоматического запуска моего приложения.Я просто установил эти значения вручную.Но я думаю, что если vim сможет разобрать этот файл и установить эти значения автоматически, это должно быть очень круто.

Ответы [ 2 ]

1 голос
/ 27 февраля 2012

Рассмотрим xmlstarlet, xmllint --xpath

В противном случае, вы можете использовать perl или python для достижения вашей цели , если у вас она скомпилирована (обычно это делают упакованные версии)

Независимо от этого, вы все равно можете использовать шаблоны поиска по номеру (/) с c i t для замены содержимого тега

0 голосов
/ 20 апреля 2012

У меня было такое же требование, как и у вас, и я просто написал собственный скрипт на python для этой задачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...