[100 点のヘルプ] PHP で 2 つの XML ノードが同じかどうかを判断する方法

WBOY
リリース: 2016-06-23 14:00:59
オリジナル
1494 人が閲覧しました

専門家の皆様にお聞きしたいのですが、XML ノードの階層が不確かな場合、2 つの XML ノードが同じかどうかをどのように判断すればよいでしょうか?
ここで、ノードに子ノードがある場合、子ノードの順序は XML ノードの判断に影響を与えないことに同意します。

たとえば、次の 2 つの XML ノードがあります:
ノード 1:

<a>    <b><d>1</d></b>    <c>2</c></a>
ログイン後にコピー

ノード 2:
<a>    <c>2</c>    <b><d>1</d></b></a>
ログイン後にコピー

現在のロジックでは、ノード 1 とノード 2 は同じ 2 つのノードとみなされます。

PHP でこれら 2 つのノードが同じかどうかを判断する方法はありますか?

ありがとうございます!


ディスカッションへの返信 (解決策)

rrreebool(true)

T モデレーターありがとうございます!とても良いアイデアですね~

$s =<<< XML<a>    <b><d>1</d></b>    <c>2</c></a><a>    <c>2</c>    <b><d>1</d></b></a>XML;$xml = simplexml_load_string($s);$t = $xml->xpath('///a');$t = array_map('objectToarray', $t);//print_r($t);var_dump($t[0] == $t[1]);function objectToArray($d) {   if (is_object($d)) {     $d = get_object_vars($d);   }  if (is_array($d)) {     return array_map(__FUNCTION__, $d);   } else {     return $d;   } }
ログイン後にコピー
bool(true)
私も phpQuery を使って実装したいです 書いたら投稿しません

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート