沃梦达 / 编程问答 / php问题 / 正文

Simplexml 使用命名空间获取属性

Simplexml get attributes with a namespace(Simplexml 使用命名空间获取属性)

本文介绍了Simplexml 使用命名空间获取属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有命名空间属性的 XML 文档.XML 看起来像:

I have an XML Document which has attributes with a namespace. The XML looks like:

<?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 属性?

How can I extract the android:name attribute from the activity tag?

推荐答案

获取属性时需要使用命名空间.android 命名空间定义为:

You need to use the namespace when getting the attribute. The android namespace is defined as:

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

所以你需要将它传递给 attributes() 方法,像这样:

So you need to pass that to the attributes() method, like this:

$xml = simplexml_load_string($xmlStr);

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

输出

com.sunil.tweet.MainActivity

com.sunil.tweet.MainActivity

键盘演示

这篇关于Simplexml 使用命名空间获取属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Simplexml 使用命名空间获取属性

基础教程推荐