【问题标题】:how to access xml tag by attribute of the parent如何通过父属性访问xml标签
【发布时间】:2015-05-20 02:48:09
【问题描述】:

这是 xml 的一部分:

<?xml version="1.0"?>
<menu>
 <pizzas>

<pizza number="0">
  <title>Tomato &amp; Cheese</title>
  <small>550</small>
  <medium></medium>
  <large>975</large>
</pizza>

PHP:

<?php
    session_start();
?>
<div id="basket">
    <h3 style="text-align:center; position:static;">Your Order:</h3>
    <?php
        $numberSelected = '';
        $_SESSION['link'] = $numberSelected;

        class dom{}

        $dom = new dom;
        $dom = simplexml_load_file("../../menu.xml");

        foreach ($dom->xpath("/menu/*/*") as $item)
        {
            print $item->title;
        }

        print_r($_SESSION);
    ?>
</div>

如何使用 $numberSelected 变量中存储的数字打印披萨/项目的标题?

我不知何故需要访问 &lt;title&gt;&lt;/title&gt; 标签内的值,该标签位于其父标签内,例如&lt;pizza number="x"&gt;,其中 x 来自变量 $numberSelected。

【问题讨论】:

    标签: php html xml xpath attributes


    【解决方案1】:

    您也可以通过 xpath 选择其属性使用 = 的节点:

    [@number='$numberSelected']
    

    所以只要查询它并继续获取结果,如果它确实产生了。如果您期待更多,请使用foreach

    $result = $dom->xpath("//pizza[@number='$numberSelected']");
    if(!empty($result)) {
        $pizza = $result[0];
        echo $pizza->title; // and others
    }
    

    Sample Output

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多