1

DAYSの答えを探しています!そして、私は何も見つけていません.. :( これが私のXMLサンプルです:

    <?xml version="1.0" encoding="UTF-8"?>
    <Businesses>
    <Business NAME="Bus1">
    <DEAL ID="2">
    <title>My first Title</Title>
</DEAL>
    <DEAL ID="4">
    <title>My Second Title</Title>
</DEAL>
    </Business>
    <Business NAME="Bus2">
    <DEAL ID="2">
    <title>My 2nd Title</Title>
</DEAL>
    <DEAL ID="5">
    <title>My last Title</Title>
</DEAL>
    </Business>
    <Businesses>

このxmlを1つずつ解析するにはどうすればよいですか?? これが私のコードです:

<?php 
  $doc = new domDocument();
  $doc->load("MyXML.xml"); //(The XML Above)
    $Businesses = $doc->documentElement;
    $ebus = $Businesses->childNodes;
    foreach ($ebus as $business) {

     if ($business instanceof domElement) {
     $busname=$business->getAttribute('NAME');
    $shelves = $Businesses->getElementsByTagName("DEAL"); //HERE IS THE PROBLEM

  foreach ($shelves as $deal) {

//Here i have all of the Businesses (I need to present only the first "NAME='Bus1'") for the first iteration! and so on..
}}}
?>

問題は、「getElementsByTagName」がすべての「DEAL」ノードをもたらすことですが、私は最初のビジネスの foreach の中にいます!!

私が試した: $shelves = $Businesses->childNodes; // しかし、それは正しくありません

ご協力ありがとうございました!!

4

1 に答える 1

2

あなたは でそれを呼び出して$BusinessesいますdocumentElement。最初に割り当てました:

$Businesses = $doc->documentElement;

これを試して:

$shelves = $business->getElementsByTagName("DEAL");
于 2012-07-21T14:02:50.443 に答える