实例演示SimpleXMLElement的用法详解

jerry PHP 2015年08月10日 收藏

xml文件

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3.     package="PACKAGE" android:versionName="VERSIONNAME">
  4.     <application android:icon="ICON" android:label="LABEL" android:name="NAME">
  5.     </application>
  6.     <uses-sdk android:minSdkVersion="1" />
  7.     <uses-sdk android:maxSdkVersion="2" />
  8.     <uses-permission android:name="android.permission.FOO"></uses-permission>
  9.     <uses-permission android:name="android.permission.BAR"></uses-permission>
  10. </manifest>

php代码

  1. <?php
  2.  
  3. $xml = new SimpleXMLElement(file_get_contents('AndroidManifest.xml'));
  4.  
  5. $nodes = $xml->xpath('/manifest');
  6.  
  7. var_dump((string)$nodes[0]->attributes()->package);
  8. var_dump((string)$nodes[0]->attributes('android', true)->versionName);
  9.  
  10. $nodes = $xml->xpath('/manifest/application');
  11.  
  12. var_dump((string)$nodes[0]->attributes('android', true)->icon);
  13. var_dump((string)$nodes[0]->attributes('android', true)->label);
  14. var_dump((string)$nodes[0]->attributes('android', true)->name);
  15.  
  16. $nodes = $xml->xpath('/manifest/uses-sdk');
  17.  
  18. foreach ($nodes as $node) {
  19.     foreach ($node->attributes('android', true) as $attribute => $value) {
  20.         var_dump($attribute, (string)$value);
  21.     }
  22. }
  23.  
  24. $nodes = $xml->xpath('/manifest/uses-permission');
  25.  
  26. foreach ($nodes as $node) {
  27.     foreach ($node->attributes('android', true) as $attribute => $value) {
  28.         var_dump($attribute, (string)$value);
  29.     }
  30. }
  31.  
  32. ?>