我有一个xml的android清单文件。假设其数据存储在字符串变量$xmldata
中,如下所示:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versioncode="13507140" android:versionname="1.35.7" package="com.google.android.apps.youtube.music" platformbuildversioncode="23" platformbuildversionname="6.0-2166767">
<uses-sdk android:minsdkversion="16" android:targetsdkversion="23">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE">
<uses-feature android:name="android.hardware.screen.portrait">
<compatible-screens>
<screen android:screensize="200" android:screendensity="160">
<screen android:screensize="200" android:screendensity="240">
<screen android:screensize="200" android:screendensity="320">
<screen android:screensize="400" android:screendensity="420">
<screen android:screensize="400" android:screendensity="480">
<screen android:screensize="400" android:screendensity="560">
<screen android:screensize="400" android:screendensity="640">
</screen></screen></screen></screen></screen></screen></screen></compatible-screens>
</uses-feature></uses-permission></uses-sdk></manifest>
如何获取数组中的所有android:screendensity
值?
这是android清单文件,因此xml结构与普通xml文件不同。
查看完整XML here。
答案 0 :(得分:1)
我认为你的xml是错误的。
&#34;屏幕&#34;标签应该像这样关闭:
<compatible-screens>
<screen android:screenSize="200" android:screenDensity="160"/>
<screen android:screenSize="200" android:screenDensity="240"/>
<screen android:screenSize="200" android:screenDensity="320"/>
<screen android:screenSize="400" android:screenDensity="420"/>
<screen android:screenSize="400" android:screenDensity="480"/>
<screen android:screenSize="400" android:screenDensity="560"/>
<screen android:screenSize="400" android:screenDensity="640"/>
</compatible-screens>
然后,如果您使用PHP,请使用@ThW评论的解析器库。
或者我建议你使用这样的正则表达式:
preg_match_all("/screenDensity=\"(\d+)\"/", $xmldata, $result);
// $result[1]; is array of screenDensitys