У меня есть следующий XML-код, который я пытаюсь проанализировать, но я уверен, как пройти некоторые данные в PHP:
<entry> <id>http://data.treasury.gov:8001/Feed.svc/DailyTreasuryYieldCurveRateData(5360)</id> <title type="text"></title> <updated>2011-06-09T20:15:18Z</updated> <author> <name /> </author> <link rel="edit" title="DailyTreasuryYieldCurveRateDatum" href="DailyTreasuryYieldCurveRateData(5360)" /> <category term="TreasuryDataWarehouseModel.DailyTreasuryYieldCurveRateDatum" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> <content type="application/xml"> <m:properties> <d:Id m:type="Edm.Int32">5360</d:Id> <d:NEW_DATE m:type="Edm.DateTime">2011-06-01T00:00:00</d:NEW_DATE> <d:BC_1MONTH m:type="Edm.Double">0.04</d:BC_1MONTH> <d:BC_3MONTH m:type="Edm.Double">0.05</d:BC_3MONTH> <d:BC_6MONTH m:type="Edm.Double">0.11</d:BC_6MONTH> <d:BC_1YEAR m:type="Edm.Double">0.18</d:BC_1YEAR> <d:BC_2YEAR m:type="Edm.Double">0.44</d:BC_2YEAR> <d:BC_3YEAR m:type="Edm.Double">0.74</d:BC_3YEAR> <d:BC_5YEAR m:type="Edm.Double">1.6</d:BC_5YEAR> <d:BC_7YEAR m:type="Edm.Double">2.28</d:BC_7YEAR> <d:BC_10YEAR m:type="Edm.Double">2.96</d:BC_10YEAR> <d:BC_20YEAR m:type="Edm.Double">3.83</d:BC_20YEAR> <d:BC_30YEAR m:type="Edm.Double">4.15</d:BC_30YEAR> <d:BC_30YEARDISPLAY m:type="Edm.Double">4.15</d:BC_30YEARDISPLAY> </m:properties> </content> </entry>
Я могу только дойти до
entry->content
Поскольку следующее порождает ошибку для наличия двоеточия:
entry->content->m:properties
Как получить доступ к содержимому, например d: NEW_DATE?
В SimpleXML вы можете использовать дочерние элементы (префикс, истина) и атрибуты (префикс, истина) для доступа к пространству имен.
entry->content->children('m', true)->properties
или для доступа к d: NEW_DATE
entry->content->children('m', true)->properties->children('d', true)->NEW_DATE
или еще один шаг для доступа к атрибуту m: type
entry->content->children('m', true)->properties->children('d', true)->NEW_DATE->attributes('m', true)->type
Вы можете использовать функции SimpleXml SimpleXML
Но мой класс fav – DOMDocument