SimpleXMLはその名の通り使用しやすい。 但しそれはないかもしれないしまたはそうではないかもしれない要素の価値を点検する必要があるとき苦痛である。

省略可能な要素が付いているXMLのスキーマのそれを使用して不足分で高貴な苦痛はある。 SimpleXMLがデータがある目的だけを作成するので、価値あなたの前に目的の存在があるようにアクセスを確認するために醜いコードを必ず書かなければならない。

便利方法を単に書くことによってそれを解決できない。 問題を理解するために割り当て、それから私達はそれを解決する。

利点
SimpleXMLは使用し非常にやすい。 目的階層にアクセスするので要素にアクセスする:
$xml->Items [0 >Request] - [0] - >Errors [0] - >Error [0] - >Status

問題
SimpleXMLはデータがあるXMLの要素のためのだけ目的を作成し、(正しくそう)。 これはそれを有効にさせる。 但しそれはまたそれをあなたのスキーマが省略可能な要素と適用範囲が広いいつか使用すること困難にする。 上の例を取るために割り当てる。 上で間違いがだけ間違いがあるある省略可能な要素ならように安全に状態にアクセスできない。 そしてこのような状態の存在を点検できない:
isset ($xml->Items [0 >Request] - [0] - >Errors [0] - >Error [0] - >Status)
間違いがないかもしれないので。 従って次に実際に状態を点検できる前に間違いがあれば調べるために最初に間違いの存在および状態の存在を点検しなければならない(多分)。 そしてこれは目的階層のあらゆる深さにあてはまる。 首の主要な苦痛になる方法をこの杖をすぐに見ることができる。 またいくつかを逃し、維持の口論を引き起こす可能性が非常に高い。 コードはunmaintainableなるも。

解決
私の解決はそのような状態のためにXPathを使用することである。 それはsuccintly分野の供給そして価値を(もし可能であれば)告げる。

結論
XPathと共のSimpleXMLはPHPのあなたのXMLデータを処理する非常に強力な方法である。