2016-07-25 3 views
2

私はこのPHP配列形式を試しました.XML属性への変換が設定されていません。いくつかの溶液を得xmlに属性を追加する方法

$request['Shopping'] = array( 
    "PTC"=>array(
    "_attributes" => array("Quantity" => "1"), 
    "_value" => "ADT") 
    ) 

function array_to_xml($array, &$xml_user_info) { 
foreach($array as $key => $value) { 
    if(is_array($value)) { 
     if(!is_numeric($key)){ 
      $subnode = $xml_user_info->addChild("$key"); 
      array_to_xml($value, $subnode); 
     }else{ 
      $subnode = $xml_user_info->addChild("item$key"); 
      array_to_xml($value, $subnode); 
     } 
    }else { 
     $xml_user_info->addChild("$key",htmlspecialchars("$value")); 
    } 
} 
} 

$xml_user_info = new SimpleXMLElement("<?xml version=\"1.0\"?><user_info>  </user_info>"); 
array_to_xml($request,$xml_user_info); 
$xml_file = $xml_user_info->asXML('users1.xml'); 
if($xml_file){ 
    echo 'XML file have been generated successfully.'; 
}else{ 
    echo 'XML file generation error.'; 
} 

は、私は以下のxml形式

<PTC Quantity="1">ADT</PTC> 

で、この配列が必要しかし、私はthis.Kindlyのように取得しています。おかげで、あなたのケースのために事前に

<PTC> 
     <_attributes> 
     <Quantity>1</Quantity> 
     </_attributes> 
     <_value>ADT</_value> 
    </PTC> 
+0

は、あなたが私の解決策を確認しましたあなたはXML構造(開口部、パース) – RomanPerekhrest

+0

を処理している、あなたの実際のコードは、この十分@roaman – Pravin

答えて

0

は、リンク上でPHPのクラスを使用してください:http://www.lalit.org/wordpress/wp-content/uploads/2011/07/Array2XML.html?ver=0.8

とコード以下のようにそれを使用しています。

<?php 
//Put above class library in same folder of below code library and include it so the class functions can be used. 
include("array2xml.php"); 
//Format your array as below 
$PTC = array(
    '@attributes' => array(
     'Quantity' => '1' 
    ), 
    '@value' => 'ADT', 
); 
$xml = Array2XML::createXML('PTC', $PTC); 
echo $xml->saveXML(); 
?> 
+0

であることを示しますか? –

+0

適切なXML形式が返されていませんが、あなたのansに感謝します – Pravin

+0

ページが実行された後、ビューソースで作成されたXMLをチェックしましたか?私はチェックしていたので、あなたが問題にしているのと全く同じXMLを生成していたからです。 –

関連する問題