无法在SimpleXMLObject中访问标记名称

时间:2015-11-05 11:47:42

标签: php xml

这是从变量%let pswd=ABCD; libname sa2st oracle path='wegtrse' user=myname password="&pswd" defer=no connection=globalread readbuff=4000 ; 打印出来的,就我获得所需的值而言。我需要从我使用$baseTypeDerivedDataTypeRefModel和的SimpleXMLObject中提取值int16,int64等 $baseTypeDerivedDataTypeRefModel[0]以及其他一些东西并且无法让它发挥作用,我知道它可能很简单,但它让我发疯了!

$baseTypeDerivedDataTypeRefModel->getName()

1 个答案:

答案 0 :(得分:1)

因为你永远不知道有多少项" baseType"有(毕竟是XML),你可以这样做来得到第一个项目的名称:

object(sfOutputEscaperObjectDecorator)[319]
  protected 'value' => 
    object(stdClass)[244]
      public 'friendly_name' => string '(646) 681-4092' (length=14)
      public 'phone_number' => string '+16466814092' (length=12)
      public 'lata' => string '132' (length=3)
      public 'rate_center' => string 'NWYRCYZN01' (length=10)
      public 'latitude' => string '40.714300' (length=9)
      public 'longitude' => string '-74.006000' (length=10)
      public 'region' => string 'NY' (length=2)
      public 'postal_code' => string '10000' (length=5)
      public 'iso_country' => string 'US' (length=2)
      public 'address_requirements' => string 'none' (length=4)
      public 'beta' => boolean false
      public 'capabilities' => 
        object(stdClass)[245]
          public 'voice' => boolean true
          public 'SMS' => boolean true
          public 'MMS' => boolean true
  protected 'escapingMethod' => string 'esc_specialchars' (length=16)

这将获取baseType列表,将其转换为数组,然后获取第一个数组元素的键。

可能有(或者很可能是)更好的方法来做到这一点,但它确实有效。