php - 基本的 simpleXML 工作示例?

标签 php xml xpath simplexml

看来 PHP 中的 simpleXML 有很多问题。我在 Windows 上运行最新版本的 php,但我无法让 simpleXML 的基本示例像文档中那样工作。

我的 xml 文件是:

<?xml version="1.0" encoding="ISO-8859-1"?>
<programme> 
  <title>Billy Bushwaka</title> 
  <episodeNumber>2</episodeNumber> 
  <description>Billy Bushwaka entertains</description> 
  <url>play.swf</url> 
</programme> 

我的 PHP 程序是:

<?php
$xml = simplexml_load_file("local.xml");

$result = $xml->xpath("//programme");
echo "Title: " . $result . "</br>";
?>

我得到的是以下内容:

标题:数组

如何获得“称号:Billy Bushwaka”?

没有重复的 XML 数据,所以我不想使用数组。

最佳答案

简单的 101

  1. 首先,始终以它们代表的节点命名您的 PHP 变量。

    // the root node is <programme/>
    $programme = simplexml_load_file("local.xml");
    
  2. 像访问对象属性一样访问子节点(节点)。

    echo $programme->title;
    
  3. 如果有多个 child 使用相同的名字,你可以指定他们从0开始的位置

    // first <title/> child
    echo $programme->title[0];
    
    // create or change the value of the second <title/> child
    $programme->title[1] = 'Second title';
    
  4. 像访问数组键一样访问属性

    // <mynode attr="attribute value" />
    echo $mynode['attr'];
    
  5. XPath 总是返回一个数组。


回到您的案例,访问该案例的最佳方式 <title />节点将是

$programme = simplexml_load_file("local.xml");
echo "Title: " . $programme->title;

关于php - 基本的 simpleXML 工作示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1893024/

相关文章:

php - MySQL 与 PHP 书

php - 与 Laravel 一对一聊天

php - 通过 facebook php api 作为 facebook 管理员在 facebook 页面墙上发布

java - 如何通过 XPATH 更新 Java 中需要不同值的多个节点?

php - 支付 Paypal 付款时会发生操作

sql - OPENXML 将 xml 导入 ms sql - 命名空间

java - 如何使用java/python从xml结构中获取匹配xpath的DOM结构

xml - 更改元素名称的样式表

xpath - jmeter xpath通过文本和父元素定位元素