簡體   English   中英

使用PHP DOMDocument從XML獲取標簽中的值

[英]Get values from tag from XML using PHP DOMDocument

我有一個包含以下內容的XML文件:

<Klassen>
  <Klas>
     <Klas>HT1</Klas>
     <Omschrijving>Klas HT1</Omschrijving>
  </Klas>
  <Klas>
     <Klas>HT2</Klas>
     <Omschrijving>Klas HT2</Omschrijving>
  </Klas>
</Klassen>

我想從第二級Klas標簽獲取值。 我使用了以下PHP腳本,但是它不起作用。

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load($apiurl);
$hallo = $xmlDoc->getElementsByTagName('Klas');

foreach ($hallo as $book) {
   $result = $book->nodeValue;
   echo '<option value="'.$result.'">'.$result.'</option>';
}
?>

我不能更改標簽名稱,因為它不是我的API,並且API的創建者也不會更改它。 我該怎么做才能將值(在此示例中)HT1和HT2放入選擇框?

謝謝!

這是使用DOMXpath的解決方案:

<?php
    $xml = <<<XML
<Klassen>
  <Klas>
     <Klas>HT1</Klas>
     <Omschrijving>Klas HT1</Omschrijving>
  </Klas>
  <Klas>
     <Klas>HT2</Klas>
     <Omschrijving>Klas HT2</Omschrijving>
  </Klas>
</Klassen>
XML;


    $xmlDoc = new DOMDocument();
    $xmlDoc->loadXML($xml);

    $xpath = new DOMXpath($xmlDoc);
    $hallo = $elements = $xpath->query("//Klas/Klas");

    foreach ($hallo as $book) {
        $result = $book->nodeValue;
        echo '<option value="'.$result.'">'.$result.'</option>';
    }

輸出:

<option value="HT1">HT1</option><option value="HT2">HT2</option>

這是一個在線工作示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM