2011-08-31 10 views
0

次のコードを挿入されている:XMLタグが

// Read Attendees Data (For Organisation) 
$attendServ = new AttendeeService(); 
$attendData = $attendServ->getAllActiveAttendeeByOrg($organisation_id); 

$attendee = new DOMDocument('1.0'); 
$attendee->formatOutput = true; 

$root = $attendee->createElement('attendee'); 
$root = $attendee->appendChild($root); 

for ($i=0;$i<count($attendData);$i++) { 

    $row = $attendee->createElement('row'); 
    $row = $root->appendChild($row); 

    foreach ($attendData[$i] as $tag=>$value) 
    { 
     $nodename = $attendee->createElement($tag); 
     $nodename = $row->appendChild($nodename); 

     $nodevalue = $attendee->createTextNode($value); 
     $nodevalue = $row->appendChild($nodevalue); 
    } 
} 

// Test Organisation Output 
header ("Content-Type:text/xml"); 
echo $attendee->saveXML(); 

を生成します:

<?xml version="1.0"?> 
<attendee> 
    <row> 
    <attendee_id/>1 
    <attendee_name/>A 
    <attendee_initials/>A.1. 
    </row> 
</attendee> 

の代わりに:

<?xml version="1.0"?> 
<attendee> 
    <row> 
    <attendee_id>1</attendee_id> 
    <attendee_name>A</attendee_name> 
    <attendee_initials>A.1.</attendee_initials> 
    </row> 
</attendee> 

を私が間違っているつもり任意の手掛かり?

答えて

1

あなたは、行にテキストノードを追加している:

$nodename = $attendee->createElement($tag); 
    $nodename = $row->appendChild($nodename); 

    $nodevalue = $attendee->createTextNode($value); 
    $nodevalue = $row->appendChild($nodevalue); 

は、あなたが作成した要素に付加します。

$element = $attendee->createElement($tag); 
    $textNode = $attendee->createTextNode($value); 
    $element->appendChild($nodevalue); 
    $row->appendChild($element);