��2��@�uSimpleXML�v�ƁuJSON�v�ŋ��ʃf�[�^�`����֗���

�T�{ ��n
�A�V�A���������

2008/6/19

PHP4�̃T�|�[�g���I�����A����܂�PHP4�����S�������J������ł��A���悢��PHP5�ւ̈ڍs������ɓ���鎞���������BPHP5�Ȃ�ł͂̋@�\�𐶂������J����i�߂邽�߂̃|�C���g���Љ��i�ҏW���j

�@��1��u��O�����̎�����c�������v�ł́A�utry�`catch�v�u���b�N���uException�v�I�u�W�F�N�g�𗘗p������O��������������B���񂩂�́APHP5����������ꂽ�@�\�⃂�W���[���̒�����A���ɕ֗��ȃ��W���[�����s�b�N�A�b�v���ďЉ�Ă��������B�܂��͔�r�I���W���[�Ŏg���ǂ���������uSimpleXML�v�uJSON�v�uPDO�v�Ƃ��������W���[�����Љ��B

�֘A�L���F
�����N �x�[�^�����[�X�ڑO!? PHP5�̐V�@�\
http://www.atmarkit.co.jp/fcoding/articles/php5/01/php501a.html
�����N PHP5�̐V�@�\��PHP4�Ƃ̌݊���
http://www.atmarkit.co.jp/fcoding/articles/php5/02/php502a.html

��y��XML��������悤�ɂ���SimpleXML

�@���ʃf�[�^�`���ɂ͂��܂��܂Ȃ��̂����邪�A�ł���ʓI�ȃf�[�^�`���Ƃ����΁A��͂�XML���낤�BXML�͑�����Web�T�[�r�X�ɂ����ăf�[�^�����ɗp�����Ă���AWebAPI�𗘗p����Ƃ��ɂ́A���̉^�p�͕K�{�Ƃ�������B

�@����܂ŁAPHP4�ł�SAX��DOM_XML���W���[���i�����FPHP5�ł�DOM���W���[���Ƃ��Ď����������ꂽ�j�𗘗p���邱�ƂŁAXML���������Ƃ͂ł����BDOM_XML���W���[���̓I�u�W�F�N�g�w���I�ȑ��삪�”\�ŁAXML��[���g������ʼn^�p����ɂ͏\���ȋ@�\������Ă����B

�@�����A���ۂɂ�Web�A�v���P�[�V������XML���p������ꍇ�A�P�Ȃ�f�[�^�̎󂯓n�������ł��邱�Ƃ������B���ɂ́A�p�[�X�����e�Ղɂł���΂���ŏ\���Ƃ������Ƃ������B�ȒP�Ɏg����������XML�𗘗p���Ă���̂ɁADOM_XML���W���[���ł͋t�ɖʓ|�ȏ������s��Ȃ���΂Ȃ�Ȃ������B

�@�����ŁA���P����XML���g�������Ƃ����v�]�ɉ�����`�Ŏ������ꂽ�̂��uSimpleXML�v���W���[���ł���B

�@���̃��W���[�����g���ƁAXML�̃c���[���A�^�O���v���p�e�B���Ƃ����V���v����PHP�̃I�u�W�F�N�g�iSimpleXMLElement�I�u�W�F�N�g�j�Ƀ}�b�s���O�ł���BXML�̐��`���ɏ�������API�ɂȂ��Ă���킯�ł͂Ȃ��̂ŁAXML�̐�����ׂ₩�ȑ���Ɍ����Ă���킯�ł͂Ȃ����A�f�[�^���p�[�X���Ĉ����ꍇ�ɂ͊ȑf�ȃR�[�h�ň������Ƃ��ł��邽�߁A�ƂĂ��֗����B

�@SimpleXML���W���[���́APHP5�ł͕W���ŗ��p�ł���悤�ɂȂ��Ă���B

�@�܂��A��Ƃ��Ĉȉ��̂悤��XML�f�[�^���ۑ����ꂽ�t�@�C��sample.xml���l���悤�B

<?xml version='1.0' encoding='utf-8' ?>
<document>
 <title>PHP�ōL����I�J���‹�</title>
 <author>�T�{��n</author>
 <body>PHP4�̏I���ɔ����APHP5�ɂ��J���̃|�C���g���������B</body>
</document>
XML�f�[�^��ۑ������T���v���t�@�C���usample.xml�v

�@������A�薼�E���ҁE�{���Ƃ������ڂ��Ƃɐ��`����ꍇ�ɂ��ASimpleXML���W���[�����g���΁A�ȉ��̂悤��simplexml_load_file�֐�1�‚Ńp�[�X���邱�Ƃ��ł���B�܂��A�n�����I�u�W�F�N�g���A�^�O���v���p�e�B���ɂȂ����f���Ȍ`�ɂȂ��Ă���A���[�v�ł��e�ՂɈ�����B

<?php
$filename = "sample.xml";

$obj = simplexml_load_file($filename);

foreach ($obj as $key => $value) {
  switch($key) {
    case 'title':
      echo '�薼�F' . $value . PHP_EOL;
      break;
    case 'author':
      echo '���ҁF' . $value . PHP_EOL;
      break;
    case 'body':
      echo '�{���F' . $value . PHP_EOL;
      break;
    default:
      break;
  }
}

�薼�FPHP�ōL����I�J���‹�
���ҁF�T�{��n
�{���FPHP4�̏I���ɔ����APHP5�ɂ��J���̃|�C���g���������B
����

�@���̂悤��SimpleXML���W���[����p���邱�Ƃɂ���āARSS�̏����Ȃǂ���ɊȒP�ɍs����悤�ɂȂ�B

�@�܂��ASimpleXML�́u�f�[�^���ȒP�Ɉ����v�Ƃ����_�ɏd�_���u����Ă��邽�߁A�c���[�̏_��ȑ���͋�肾�B�����A�P���Ȓlj�����ł���Ύ�y�ɍs�����Ƃ��ł���B

<?php

$obj = simplexml_load_file('sample.xml');

$obj->description = 'PHP5�ɔ�����';
$obj->toc->first = '��O����';
$obj->toc->second = 'SimpleXML/PDO';

echo
$obj->asXml();

<?xml version="1.0" encoding="utf-8"?>
<document>
<title>PHP�ōL����I�J���‹�</title>
<author>�T�{��n</author>
<body>PHP4�̏I���ɔ����APHP5�ɂ��J���̃|�C���g���������B</body>
<description>PHP5�ɔ�����</description><toc><first>��O����</first><second>SimpleXML/PDO</second></toc></document>
����

�@���`����Ă��Ȃ����ߎ኱���Â炢���A�������XML�̃m�[�h���lj�����Ă���̂�������B

�@�܂��A���O��Ԃ̎w��⑮���̒lj��Ȃǂ��s�������ꍇ�ɂ́AaddChile()��addAttrbute()�Ƃ��������\�b�h�𗘗p���邱�Ƃ��ł���B���̂��߁A�K�v�Œ���̒lj������SimpleXML�Ŏ�����Ă��܂����Ƃ��������낤�B

�@�������A�����‚����ӓ_������B

�@SimpleXML�ł́A�ǂݍ���XML�̓��e��SimpleXMLElement�Ƃ�����p�̃I�u�W�F�N�g�Ƀ}�b�s���O�����B���̃I�u�W�F�N�g�́A�����Ɠ����K�w��XML�v�f�ɂ‚��ẮA�����l���u@attribute�v�Ƃ����L�[�Ƃ��ĕێ�����B

�@�������q�v�f�ɂ‚��ẮA�\�ʓI�ɂ̓v���p�e�B�Ƃ��ėv�f�����\��邾���ŁA�����������Ȃ��Ȃ��Ă��܂��B���̂��߁A�󂯎��XML�̍\�������m�̏ꍇ�A�����l�̃`�F�b�N�R�ꂪ�o�Ă��܂��”\��������̂ŁA���ӂ��K�v���B����𐳂����������߂ɂ́A�������1�K�w���Œ��Ă����K�v������B

<?php
$obj = simplexml_load_file('sample.xml');

var_dump($obj);// ����ł͎q�v�f�̑����������Ȃ�

foreach($obj as $value) {
  var_dump($value);
}

object(SimpleXMLElement)#1 (3) {
  ["title"]=>
  string(32) "PHP�ōL����"�I'�J���‹�"
  ["author"]=>
  string(12) "�T�{��n"
  ["body"]=>
  string(77) "PHP4�̏I���ɔ����APHP5�ɂ��J���̃|�C���g���������B"
}
object(SimpleXMLElement)#3 (1) {
  [0]=>
  string(32) "PHP�ōL����"�I'�J���‹�"
}
object(SimpleXMLElement)#4 (1) {
  [0]=>
  string(12) "�T�{��n"
}
object(SimpleXMLElement)#3 (2) {
  ["@attributes"]=>
  array(1) {
    ["id"]=>
    string(4) "main"
  }
  [0]=>
  string(77) "PHP4�̏I���ɔ����APHP5�ɂ��J���̃|�C���g���������B"
}
����

�@�܂��A�ŏ���XML�錾���s�K�؂Ȃ��̂ł������肷��ƁAasXml()���\�b�h�iSimpleXMLElement�I�u�W�F�N�g��XML�̕�����Ƃ��ďo�͂��郁�\�b�h�j�𗘗p����Ƃ��A�}���`�o�C�g�����񂪐��l���̎Q�ƂɂȂ��Ă��܂��B

�@�K�؂�XML�錾��encoding�܂ŋL�q���Ă���ꍇ�ɂ͎��̎Q�Ƃɂ͂Ȃ�Ȃ����Aencoding�̋L�q�����Ă��Ȃ�������AXML�錾���̂��������Ɏ��������ɔC����悤�Ȃ��Ƃ����Ă��܂����肷��ƁA�v��ʂƂ���ŕ����������Ă��܂��B

�@XML�錾��SimpleXML�̊֐��Q�ő��삷�邱�Ƃ͂ł��Ȃ��B�]���Ă��̖��ɑΏ�����ɂ́A�I�u�W�F�N�g�Ƃ��ăp�[�X����O�ɕ�����Ƃ��ĕt�������Ă��������Ȃ��B���ɁAHTML�Ȃǂ���́E�č\������ꍇ�Ȃǂ�SimpleXML���g�����Ƃ���ƃn�}�肪���ȕ����Ȃ̂ŁA�C��t���悤�B

<?php

// XML�錾��encoding�t���ŗ^���Ă���
$obj = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8" ?><document></document>');

$obj->title = 'PHP�ōL����I�J���‹�';
$obj->author = '�T�{��n';
$obj->body = 'PHP4�̏I���ɔ����APHP5�ɂ��J���̃|�C���g���������B';
$obj->body->addAttribute('id', 'main');

echo $obj->asXml();

�֘A�����N�F
�����N PHP�}�j���A�� SimpleXML
http://jp.php.net/manual/ja/book.simplexml.php

 
1/2

Index
�uSimpleXML�v�ƁuJSON�v�ŋ��ʃf�[�^�`����֗���
Page1
��y��XML��������悤�ɂ���SimpleXML
  Page2
JavaScript�ł̉^�p���e�Ղ�JSON
�l�C�e�B�u�̃f�[�^�x�[�X���ۉ����C���uPDO�v

PHP5�ōL����I �J���‹�

�@PHP�֘A�L��
��O�����̎�����c������
PHP5�ōL����I �J���‹��i1�j
�@PHP4�̃T�|�[�g���I�����A���悢��PHP5�ւ̈ڍs������ɓ���鎞���������BPHP5�̋@�\�𐶂������J���̃|�C���g���Љ�
�N���C�A���gPC�Ɍ���‹������闝�R
Mac OS X�{PHP�ŃI�[���C�������‹��i�����ҁj
�@Web�A�v���J���҂ɐl�C��Mac OS X�B�����I�ȊJ���̂��߂ɕ����o�[�W������PHP�����s����‹����\�z���Ă݂悤
PHP�ɉ����񂹂郊�X�N�ƍ��ۉ��̔g
PHP�J���t�@�����X2008���|�[�g�i�O�ҁj
�@PHP4�̃T�|�[�g�����S�ɏI������B�����̐V�@�\�����������PHP5.3�ֈڍs���A���ۉ��Ή��ŊJ�����x���PHP6��҂‚�
PHP�ɂ���K�͏��p�T�[�r�X�̗���
PHP�J���t�@�����X2008���|�[�g�i���ҁj
�@��Ƃ�Web�A�v���P�[�V�����J������ŗ��p�����PHP�B�J������̗����ɂ͂��܂��܂ȃh���}���B����Ă���
PHP���[�U�[�͖{���ɂق��̌����m��Ȃ��̂��H
PHP�J���t�@�����X2008���|�[�g�i��ҁj
�@PHP�͖{���Ƀ_���Ȍ���Ȃ̂��낤���BPerl�ARuby�APython�AJava�AJavaScript�̎g���肪���M�����c�_���s����
�@�@Coding Edge�t�H�[�����t�B�[�h�@ 2.0�^1.0�^0.91


Coding Edge �t�H�[���� �V���L��
��IT���[���}�K�W���@�V������X�^�b�t�̃R���������[���œ͂��܂��i�����j

���ڂ̃e�[�}

>

Coding Edge �L�������L���O

�{�� ����