首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP阅读Plist simplexml -正确的语法是什么?

PHP阅读Plist simplexml -正确的语法是什么?
EN

Stack Overflow用户
提问于 2013-09-19 10:46:53
回答 1查看 1.3K关注 0票数 0

我正在使用simplexml_load_file读取plist,而我已经打开的plist是使用var_dump检查的,但是我不确定实际访问条目的语法。我只需要得到2条信息。

来自var_dump的simplexml_load_file如下所示。我只想要文本"SimpleCalculator“

代码语言:javascript
复制
object(SimpleXMLElement)#1 (2) {
  ["@attributes"]=>
  array(1) {
    ["version"]=>
    string(3) "3.0"
  }
  ["dict"]=>
  object(SimpleXMLElement)#2 (2) {
    ["key"]=>
    string(5) "items"
    ["array"]=>
    object(SimpleXMLElement)#3 (1) {
      ["dict"]=>
      object(SimpleXMLElement)#4 (3) {
        ["key"]=>
        array(2) {
          [0]=>
          string(6) "assets"
          [1]=>
          string(8) "metadata"
        }
        ["array"]=>
        object(SimpleXMLElement)#5 (1) {
          ["dict"]=>
          object(SimpleXMLElement)#7 (2) {
            ["key"]=>
            array(2) {
              [0]=>
              string(4) "kind"
              [1]=>
              string(3) "url"
            }
            ["string"]=>
            array(2) {
              [0]=>
              string(16) "software-package"
              [1]=>
              string(7) "__URL__"
            }
          }
        }
        ["dict"]=>
        object(SimpleXMLElement)#6 (2) {
          ["key"]=>
          array(5) {
            [0]=>
            string(17) "bundle-identifier"
            [1]=>
            string(14) "bundle-version"
            [2]=>
            string(4) "kind"
            [3]=>
            string(5) "title"
            [4]=>
            string(8) "subtitle"
          }
          ["string"]=>
          array(5) {
            [0]=>
            string(16) "SimpleCalculator"
            [1]=>
            string(3) "000"
            [2]=>
            string(8) "software"
            [3]=>
            string(33) "com.mywork.demo"
            [4]=>
            string(3) "1.0"
          }
        }
      }
    }
  }
}

XML看起来像:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="3.0">
<dict>
    <key>items</key>
    <array>
        <dict>
            <key>assets</key>
            <array>
                <dict>
                    <key>kind</key>
                    <string>software-package</string>
                    <key>url</key>
                    <string>__URL__</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>SimpleCalculator</string>
                <key>bundle-version</key>
                <string>000</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>com.mywork.demo</string>
                <key>subtitle</key>
                <string>1.0</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-19 11:59:59

Tested and Works.

代码语言:javascript
复制
<?php
if (file_exists('test.xml')) {
    $xml = simplexml_load_file('test.xml');

    echo $xml->dict->array->dict->dict->string;//Simple Calculator

} else {
    exit('Failed to open test.xml.');
}

编辑:

你需要像这样骑自行车

代码语言:javascript
复制
echo $xml->dict->array->dict->dict->string[0];//Simple Calculator
echo $xml->dict->array->dict->dict->string[1];//000
echo $xml->dict->array->dict->dict->string[2];//software
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18892565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档