2012-11-22 80 views
2

我有一個具有命名空間屬性的XML文檔。該XML的樣子:Simplexml使用命名空間獲取屬性

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.sunil.tweet" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="11" 
    android:targetSdkVersion="16" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.sunil.tweet.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

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

我怎麼能提取從activity標籤android:name屬性?

+0

提供完整的XML –

+0

我已經編輯與完整的XML文件中的問題 –

回答

2

獲取屬性時需要使用命名空間。該android命名空間定義爲:

http://schemas.android.com/apk/res/android

所以你需要傳遞給attributes()方法,像這樣:

$xml = simplexml_load_string($xmlStr); 

echo (string) $xml->application->activity->attributes('http://schemas.android.com/apk/res/android')->name; 

輸出

com.suni l.tweet.MainActivity

Codepad Demo