簡體   English   中英

如何獲取xml文件的子節點(如果存在),否則使用php跳轉到下一個節點

[英]how to fetch the child node of a xml file if exists otherwise jump to next node using php

我有一個類似於以下內容的XML文件

<Navigation Name="Klengeräte">
<Market Type="Navigation"></Market>
<Navigation Name="Bodenpflege">

<Market Type="Navigation"></Market>

<Navigation Name="Wöchentches">
<Market Type="Navigation">
</Market>
<Navigation Name="Ultra One">
<personalinfo>
 <Name> testing</Name>
 <grade> A </grade>
<info> test information </info>
</personalinfo>
</Navigation>
</Navigation>
<personalinfo>
<Name> testing</Name>
<grade> A </grade>
<info> test information </info>
</personalinfo>
<personalinfo>
<Name> testing</Name>
<grade> A </grade>
<info> test information </info>
</personalinfo>
</Navigation>
</Navigation> 

我想讀取XML中的個人信息標簽

如果有任何問題,請忽略。我已經嘗試了很多方法,但是沒有找到正確的解決方案。

您可以通過使用DOMDocument獲得'personalinfo'標記並使用foreach和DOMNode進行迭代來實現。

$parser = new DOMDocument();
$parser->loadXML($xml);
$infos = $parser->getElementsByTagName('personalinfo');
foreach($infos as $info) { 
  foreach($info->childNodes as $infoChild) {
    echo $infoChild->nodeName . '====' . $infoChild->nodeValue . '<br>';
  }
}

這不是一個完美的解決方案,但是它應該使您朝正確的方向開始。 有關XML的實現,請參見http://codepad.viper-7.com/f4u9FC

感謝您的幫助,我得到了解決方案。

我們可以使用獲取所有個人標簽的信息

foreach($temp_xml->xpath('//PersonalInformation') as $product_xml){

  $name = $product_xml{'Name'};

  $grade = $product_xml{'grade'};

}

這樣,我們可以讀取任何值。 它為我工作。

暫無
暫無

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

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