私は元々XML形式のオブジェクトの配列にオブジェクトを挿入するPHPスクリプトを作成しようとしています。私は指定されたインデックスにオブジェクトを挿入し、データが更新されたオブジェクトで取得されたxmlファイルを書き換えることができるようにする必要があります。ここに私のXMLの構造は、私がbar_id = 0のIDを持つバーで働くバーテンダーを持っている場合、私はの配列にそのバーテンダーを挿入できるようにする必要があり、他の言葉でそうオブジェクトをオブジェクトの配列に挿入する
<?xml version="1.0" encoding="UTF-8"?>
<Bars>
<Bar>
<BarName>Kam's</BarName>
<bar_id>0</bar_id>
<Bartenders>
<Bartender>
<fname>Max</fname>
<lname>Vest</lname>
<imageURL>http://uofi-bars.com/bartenderImages/maxvest.jpg</imageURL>
<shift>2</shift>
</Bartender>
</Bartenders>
<Events>
<Event>
<EventName>Kams event</EventName>
<date>08/10/1989</date>
</Event>
</Events>
<Specials>
<Special>Kam's Special 1</Special>
<Special>Kam's Special 2</Special>
</Specials>
</Bar>
ですその特定のバーのバーテンダー。
私はXMLから配列を作成するには、以下のPHPコードを使用:
function objectsIntoArray($arrObjData, $arrSkipIndices = array())
{
$arrData = array();
// if input is object, convert into array
if (is_object($arrObjData)) {
$arrObjData = get_object_vars($arrObjData);
}
if (is_array($arrObjData)) {
foreach ($arrObjData as $index => $value) {
if (is_object($value) || is_array($value)) {
$value = objectsIntoArray($value, $arrSkipIndices); // recursive call
}
if (in_array($index, $arrSkipIndices)) {
continue;
}
$arrData[$index] = $value;
}
}
return $arrData;
}
$xmlUrl = "Bars.xml"; // XML
$xmlStr = file_get_contents($xmlUrl);
$xmlObj = simplexml_load_string($xmlStr);
$arrXml = objectsIntoArray($xmlObj);
print_r($arrXml);
私はちょうどオブジェクトの配列内のオブジェクトのこの配列を参照する方法がわからないと思います...すべてのヘルプ大変感謝しています!
ありがとうございます!
XMLファイルをテーブルとして使用して、削除と更新の項目を挿入することができますか? –
これは簡単な方法ですか? – thebiglebowski11
xpathをPHPで試してみてください。http://www.w3schools.com/php/func_simplexml_xpath.aspそしてこちらhttp://code.huypv.net/2009/07/simplexml-xpath-php.html –