如何在XML元素中获取属性的值?
例如: 我想获取属性 类别 的值。
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
答案 0 :(得分:0)
使用SimpleXML
扩展程序:
<?php
$xml = '<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
</bookstore>';
$doc = simplexml_load_string($xml);
echo $doc->book->attributes()->category; // cooking
echo $doc->book->title.PHP_EOL; // Everyday Italian
echo $doc->book->title->attributes()->lang.PHP_EOL; // en
每个元素都将被设置为根对象的属性,以便您直接访问。在这种特殊情况下,您可以使用attributes()
获取book
元素的属性。
您可以在示例中看到,您可以通过相同的方式继续浏览关卡:要转到lang
中的book
属性,请使用$doc->book->title->attributes()->lang
。
答案 1 :(得分:0)
$xml=simplexml_load_file("yourfile.xml");
echo $xml->book[0]['category'];
答案 2 :(得分:0)
PHP在标准库中提供了一个<?php
class TaskList {
var $items;
var $listname;
public function __construct($listname){
session_start();
$this->listname = $listname;
if(isset($_SESSION[$this->listname])) {
$this->items = $_SESSION[$this->listname];
}
else {
$this->items = array();
}
}
public function addItem($item) {
$this->items[] = $item;
}
public function deleteItem($key) {
unset($this->items[$key]);
}
public function save() {
$_SESSION[$this->listname] = $this->items;
}
}
类,可用于解析XML文件。
SimpleXML