teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

見難かったので追記を見出しにしました

2018/05/09 09:01

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -22,8 +22,7 @@
22
22
  ```
23
23
  でできると思ったのですが、できませんでした。。。
24
24
 
25
-
26
- 追記:
25
+ ### 追記:
27
26
  XMLの原文は、
28
27
  ```XML
29
28
  <Result date="2018-05-02">
@@ -40,7 +39,8 @@
40
39
  ```
41
40
  で、パースして取得した$xmlです。(xmldata.xmlにxmlが記載されています。)
42
41
 
43
- 追記その2:
42
+ ### 追記その2:
43
+
44
44
  ```PHP
45
45
  $data_set = [
46
46
  'date' => $xml->attributes()->date,

2

SimpleXMLElementをなんとかしてstringにして、valueも純粋に値だけ取得したい。

2018/05/09 09:01

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -38,4 +38,47 @@
38
38
  $file = simplexml_load_file('xmldata.xml');
39
39
  $xml = $file->Result;
40
40
  ```
41
- で、パースして取得した$xmlです。(xmldata.xmlにxmlが記載されています。)
41
+ で、パースして取得した$xmlです。(xmldata.xmlにxmlが記載されています。)
42
+
43
+ 追記その2:
44
+ ```PHP
45
+ $data_set = [
46
+ 'date' => $xml->attributes()->date,
47
+ 'value' => $xml->Value,
48
+ ];
49
+ ```
50
+ のようにして取得した物をvar_dump()したら、
51
+
52
+ ```PHP
53
+ array(2) {
54
+ ["date"]=>
55
+ object(SimpleXMLElement)#10 (1) {
56
+ [0]=>
57
+ string(10) "2018-05-02"
58
+ }
59
+ ["value"]=>
60
+ object(SimpleXMLElement)#5 (2) {
61
+ ["@attributes"]=>
62
+ array(2) {
63
+ ["label"]=>
64
+ string(5) "label"
65
+ ["key"]=>
66
+ string(3) "key"
67
+ }
68
+ [0]=>
69
+ string(5) "14418"
70
+ }
71
+ }
72
+ ```
73
+ となってました。
74
+
75
+ 理想の出力結果としては、
76
+ ```PHP
77
+ array(2) {
78
+ ["date"]=>
79
+ string(10) "2018-05-02"
80
+ ["value"]=>
81
+ string(5) "14418"
82
+ }
83
+ ```
84
+ となってほしいです。

1

追記依頼の内容を追記しました。

2018/05/09 08:49

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -20,4 +20,22 @@
20
20
  $date = $xml['date'];
21
21
  $value = $xml->Value;
22
22
  ```
23
- でできると思ったのですが、できませんでした。。。
23
+ でできると思ったのですが、できませんでした。。。
24
+
25
+
26
+ 追記:
27
+ XMLの原文は、
28
+ ```XML
29
+ <Result date="2018-05-02">
30
+ <Value label="label" key="key">14418</Value>
31
+ </Result>
32
+ ```
33
+ です。
34
+
35
+ 冒頭に書いたオブジェクトは、
36
+
37
+ ```PHP
38
+ $file = simplexml_load_file('xmldata.xml');
39
+ $xml = $file->Result;
40
+ ```
41
+ で、パースして取得した$xmlです。(xmldata.xmlにxmlが記載されています。)