質問編集履歴
1
コードを記載いたしました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -14,4 +14,29 @@
|
|
14
14
|
```XML
|
15
15
|
<A a="111" b="222" c="333"></A>
|
16
16
|
<B a="444" b="555" c="666"></A>
|
17
|
+
```
|
18
|
+
|
19
|
+
|
20
|
+
(加筆)
|
21
|
+
うまくご説明できるかわかりませんが、申し少し分かりやすい例でコードを記載させて頂きます。
|
22
|
+
|
23
|
+
```PHP
|
24
|
+
$cArray=array(111,222,333,444,555,666,777,888,999);
|
25
|
+
$xml='<A a="apple" b="banana" c="333"></A> <A a="orange" b="peach" c="666"></A> <A a="pinapple" b="mango" c="999"></A>';//失礼しました、分かりやすいように修正します
|
26
|
+
$num=($sampleNode->length);//A,B,Cで3つ
|
27
|
+
for ($i=0; $i < $num; $i++) {
|
28
|
+
$searchNode=$sampleNode->item($m)->getAttribute('c');
|
29
|
+
$resultArray[]=$searchNode;
|
30
|
+
}
|
31
|
+
$num2=count($cArray);//9つ
|
32
|
+
for ($i=0; $i <$num2 ; $i++) { //ループで111,222,333~999がc属性のものをすべて検索
|
33
|
+
if ($cArray[$i]==$resultArray[0]) {
|
34
|
+
$key=0;
|
35
|
+
} elseif($cArray[$i]==$resultArray[1]){
|
36
|
+
$key=1;
|
37
|
+
}elseif($cArray[$i]==$resultArray[2]){
|
38
|
+
$key=2;
|
39
|
+
}
|
40
|
+
$fruit[]=$sampleNode->item($key)->getAttribute('b');//111,222,444,555,,777,888はxmlに存在しないためNull 333=>banana 666=>peach 999=>mangoが取得できる
|
41
|
+
}
|
17
42
|
```
|