0

xml_parseがどのように機能するかを完全には理解していないようです。私が行っていたのは、xmlファイルの内容を取得し、パーサーを作成して、それをxml_parse()に渡すことでした。その後どうしたらいいのかわからない。私の場合、$xmlが反復できる配列だと思っていました。私は自分のデータをどのように解析するかを見ようとしていました。

    $fp = file_get_contents("memberdata.xml");
echo "pre-create";
$xml = xml_parser_create();
echo "pre-parse";
$status = xml_parse($xml,$fp);

if(!$status){
    die("Error parsing data from $fp into $xml");
}
echo "pre XML posting";
echo "<br />".$xml."<br />";
print_r($xml);
xml_parser_free($xml);

これにアクセスする方法がわからないようです。

サンプルのxmlデータは次のとおりです。

<currentTime>2012-09-05 03:43:25</currentTime>
<result>
  <rowset name="members" key="characterID" columns="characterID,name,startDateTime,baseID,base,title,logonDateTime,logoffDateTime,locationID,location,shipTypeID,shipType,roles,grantableRoles">
    <row ..>
  </rowset>
</result>
<cachedUntil></cashedUntil>
4

1 に答える 1

1

基本ツールを使用する代わりに、ツールキットの 1 つを使用することで、SimpleXML は多くのフラストレーションを軽減します。この質問に対する答えは、SimpleXML を使用してやり直されます。

    $fp = file_get_contents("memberdata.xml");
$eve = new SimpleXMLElement($fp);

$cols = $eve->{'result'}->rowset['columns'];
//I put result in {} because result is a special character in php.
$cols = explode(",",$cols);
foreach ($cols as $c){
    echo "".$c."<br />";
}
    //output is printed to screen

于 2012-09-05T04:46:32.470 に答える