当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP SimpleXMLElement attributes()用法及代码示例


前提条件: 阅读XML基础

SimpleXMLElement::attributes()函数是PHP中的内置函数,用于从SimpleXML对象中的XML标记中检索属性及其值。

用法:


SimpleXMLElement SimpleXMLElement::attributes( $namespace, $is_prefix )

参数:该函数接受上述和以下描述的两个参数:

  • $namespace:它是可选参数。它指定检索到的属性的名称空间。
  • $is_prefix:它是布尔参数。如果$namespace为前缀,则为True;如果$namespace为URI,则为False。其默认值为False。

返回值:它返回一个SimpleXMLElement对象,该对象可以在SimpleXMLElement对象的标记的属性上进行迭代。如果SimpleXMLElement对象已经是属性而不是标签,则返回null。

注意:此函数在PHP 5.0.1和更高版本上可用。

以下示例程序旨在说明PHP中的SimpleXMLElement::attributes()函数:

程序1:

<?php 
  
// Loading XML document to $user 
$user = <<<XML 
<user> 
    <username> 
        Geeks123 
    </username> 
      
    <name> 
        GeeksforGeeks 
    </name> 
      
    <phone> 
        +91-XXXXXXXXXX 
    </phone> 
      
    <address font-color="blue" font="awsome-fonts" 
            font-size="24px">  
        Noida, UP, India  
    </address> 
</user> 
XML; 
  
// Loading string as simple xml object 
$xml = simplexml_load_string($user); 
  
// Print children attribute with its value 
foreach($xml->address[0]->attributes() as $key => $value) 
{ 
    echo $key . " => " . $value . "</br>"; 
} 
  
?>

输出:

font-color => blue
font => awsome-fonts
font-size => 24px

程序2:

<?php 
  
// Loading XML document to $user 
$user = <<<XML 
<user> 
    <username font-color="green" 
            font="awsome-fonts" font-size="72px"> 
        Geeks123 
    </username> 
      
    <name font-color="blue" font="awsome-fonts"
            font-size="36px"> 
        GeeksforGeeks 
    </name> 
      
    <phone font-color="blue" type="number" 
            font="awsome-fonts" font-size="24px"> 
        +91-XXXXXXXXXX 
    </phone> 
      
    <address font-color="blue" font="awsome-fonts" 
            font-size="24px">  
        Noida, UP, India  
    </address> 
</user> 
XML; 
  
// Loading string as simple xml object 
$xml = simplexml_load_string($user); 
  
// Print children attribute 
foreach($xml->children() as $child) { 
    echo "Child name: " . $child->getName() 
            . " =>" . $child . "<br>"; 
      
    foreach($child->attributes() as $key => $value) 
        echo "      parameter: " 
                . $key . " => " . $value . "</br>"; 
} 
  
?>

输出:

Child name: username => Geeks123 
     parameter: font-color => green
     parameter: font => awsome-fonts
     parameter: font-size => 72px
Child name: name => GeeksforGeeks 
     parameter: font-color => blue
     parameter: font => awsome-fonts
     parameter: font-size => 36px
Child name: phone => +91-XXXXXXXXXX 
     parameter: font-color => blue
     parameter: type => number
     parameter: font => awsome-fonts
     parameter: font-size => 24px
Child name: address => Noida, UP, India 
     parameter: font-color => blue
     parameter: font => awsome-fonts
     parameter: font-size => 24px

参考: https://www.php.net/manual/en/simplexmlelement.attributes.php



相关用法


注:本文由纯净天空筛选整理自gekcho大神的英文原创作品 PHP | SimpleXMLElement attributes() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。