XML ・ム。シ・オ エリソ�
PHP Manual

xml_parse_into_struct

(PHP 4, PHP 5)

xml_parse_into_structヌロホスツ、ツホ、ヒ XML ・ヌ。シ・ソ、靉�、ケ、�

タ篶タ

int xml_parse_into_struct ( resource $parser , string $data , array &$values [, array &$index ] )

、ウ、ホエリソマ。「XML ハクサ昀靉�、キ。「2、ト、ホヌロホスツ、ツホ、ヒツ衄�、キ、゙、ケ。」 、メ、ネ、ト、皃ホヌロホ� (index) 、マ。「ヌロホ� values 、ヒ、「、�ャナハテヘ、ホーフテヨ、リ、ケ・ン・、・ソ、ンサ�、キ、ニ、、、゙、ケ。」 、ウ、�鮗ヌク螟ホニト、ホ・ム・鬣癸シ・ソ、マサイセネナマ、キ、ネ、ケ、�ャヘラ、ャ、「、熙゙、ケ。」

・ム・鬣癸シ・ソ

parser

XML ・ム。シ・オ、リ、ホサイセネ。」

data

XML ・ヌ。シ・ソ、゙、猝クサ昀」

values

XML ・ヌ。シ・ソ、ホテヘ、゙、猊ロホ」

index

$values ニ筅ホナャタレ、ハテヘ、ホセ�熙オ、ケ・ン・、・ソ、ホヌロホ」

ハヨ、�ヘ

xml_parse_into_struct() 、マシコヌヤ、キ、ソセ�遉ヒ 0。「 タョクキ、ソセ�遉ヒ 1 、ヨ、キ、゙、ケ。」、ウ、�マ FALSE 、ェ、隍モ TRUE 、ネ、マ ーロ、ハ、�筅ホ、ヌ、ケ、ホ、ヌ。「=== 、ホ、隍ヲ、ハア鮟ササメ、ネヘム、ケ、��遉マテ擎ユ、キ、゙、キ、遉ヲ。」

ホ�

ーハイシ、ホホ网マ。「、ウ、ホエリソヒ、隍�クタョ、オ、�ソヌロホホニ篷スツ、、ィ、ケ、筅ホ、ヌ、ケ。」 note・ソ・ー、�para・ソ・ー、ホテ讀ヒヒ� 、盪�、ヌサネヘム、キ、ソク蝪「、ウ、�ム。シ・ケ、キ。「タクタョ、オ、�ソケスツ、ツホ、ミホマ、キ、゙、ケ。」

ホ�1 xml_parse_into_struct() 、ホホ�

<?php
$simple 
"<para><note>simple note</note></para>";
$p xml_parser_create();
xml_parse_into_struct($p$simple$vals$index);
xml_parser_free($p);
echo 
"Index array\n";
print_r($index);
echo 
"\nVals array\n";
print_r($vals);
?>

、ウ、ホ・ウ。シ・ノ、ツケヤ、キ、ソセ�遑「スミホマ、マシ。、ホ、隍ヲ、ヒ、ハ、熙゙、ケ。」

Index array
Array
(
    [PARA] => Array
        (
            [0] => 0
            [1] => 2
        )

    [NOTE] => Array
        (
            [0] => 1
        )

)

Vals array
Array
(
    [0] => Array
        (
            [tag] => PARA
            [type] => open
            [level] => 1
        )

    [1] => Array
        (
            [tag] => NOTE
            [type] => complete
            [level] => 2
            [value] => simple note
        )

    [2] => Array
        (
            [tag] => PARA
            [type] => close
            [level] => 1
        )

)

(expat・鬣、・ヨ・鬣熙ネヘム、キ、ソ)・、・ル・ネカ鏆ーキソ・ム。シ・オ、ヒ、隍�靉�、マ。「XML ・ノ・ュ・螂皈ネ、ャハ」サィ、ハセ�遉ヒハ」サィ、ヒ、ハ、��遉ャ、「、熙゙、ケ。」、ウ、ホエリソマ。「 DOMキチシー、ホ・ェ・ヨ・ク・ァ・ッ・ネ、クタョ、キ、゙、サ、ャ。「・ト・遙シノヒー�「、ホス靉�、ヤ、、 ニタ、�スツ、ツホ、クタョ、キ、゙、ケ。」、ト、゙、遙「XML、ホ・ユ・。・、・�ス、ケ・ェ・ヨ・ク・ァ・ッ・ネ、� ヘニーラ、ヒコ鋿ョ、ケ、�ウ、ネ、ャイトヌス、ヌ、ケ。」シ。、ホXML・ユ・。・、・�ォ、ニ、゚、゙、キ、遉ヲ。」 、ウ、ホ・ユ・。・、・�ヌ、マ。「・「・゚・ホサタ、ホセヒエリ、ケ、�ョ、オ、ハ・ヌ。シ・ソ・ル。シ・ケ、ス、キ、゙、ケ。」

ホ�2 moldb.xml - ハャサメセホセョ、オ、ハ・ヌ。シ・ソ・ル。シ・ケ

<?xml version="1.0"?>
<moldb>

  <molecule>
      <name>Alanine</name>
      <symbol>ala</symbol>
      <code>A</code>
      <type>hydrophobic</type>
  </molecule>

  <molecule>
      <name>Lysine</name>
      <symbol>lys</symbol>
      <code>K</code>
      <type>charged</type>
  </molecule>

</moldb>
・ノ・ュ・螂皈ネ、靉�、キ。「ナャナハ・ェ・ヨ・ク・ァ・ッ・ネ、クタョ、ケ、�、、ッ、ト、ォ、ホ・ウ。シ・ノ

ホ�3 parsemoldb.php - moldb.xml 、靉�、キ。「ハャサメ・ェ・ヨ・ク・ァ・ッ・ネ、ホヌロホヒツ衄�

<?php

class AminoAcid {
    var 
$name;  // aa name
    
var $symbol;    // three letter symbol
    
var $code;  // one letter code
    
var $type;  // hydrophobic, charged or neutral
    
    
function AminoAcid ($aa
    {
        foreach (
$aa as $k=>$v)
            
$this->$k $aa[$k];
    }
}

function 
readDatabase($filename
{
    
// read the XML database of aminoacids
    
$data implode(""file($filename));
    
$parser xml_parser_create();
    
xml_parser_set_option($parserXML_OPTION_CASE_FOLDING0);
    
xml_parser_set_option($parserXML_OPTION_SKIP_WHITE1);
    
xml_parse_into_struct($parser$data$values$tags);
    
xml_parser_free($parser);

    
// loop through the structures
    
foreach ($tags as $key=>$val) {
        if (
$key == "molecule") {
            
$molranges $val;
            
// each contiguous pair of array entries are the 
            // lower and upper range for each molecule definition
            
for ($i=0$i count($molranges); $i+=2) {
                
$offset $molranges[$i] + 1;
                
$len $molranges[$i 1] - $offset;
                
$tdb[] = parseMol(array_slice($values$offset$len));
            }
        } else {
            continue;
        }
    }
    return 
$tdb;
}

function 
parseMol($mvalues
{
    for (
$i=0$i count($mvalues); $i++) {
        
$mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"];
    }
    return new 
AminoAcid($mol);
}

$db readDatabase("moldb.xml");
echo 
"** Database of AminoAcid objects:\n";
print_r($db);

?>
parsemoldb.php、ツケヤ、キ、ソク蝪「ハムソ� $db 、マ。「・ェ・ヨ・ク・ァ・ッ・ネ AminoAcid、ホヌロホュ、キ、ニ、ェ、遙「・ケ・ッ・�ラ・ネ、ホ スミホマ、マ。「シ。、ホ、隍ヲ、ヒ、ハ、熙゙、ケ。」
** Database of AminoAcid objects:
Array
(
    [0] => aminoacid Object
        (
            [name] => Alanine
            [symbol] => ala
            [code] => A
            [type] => hydrophobic
        )

    [1] => aminoacid Object
        (
            [name] => Lysine
            [symbol] => lys
            [code] => K
            [type] => charged
        )

)


XML ・ム。シ・オ エリソ�
PHP Manual