有沒有更優雅的方法來將SimpleXML屬性轉義爲數組?SimpleXML屬性到數組
$result = $xml->xpath($xpath);
$element = $result[ 0 ];
$attributes = (array) $element->attributes();
$attributes = $attributes[ '@attributes' ];
我真的不想循環它只是爲了提取鍵/值對。我需要的只是把它放到一個數組中,然後傳遞給它。我會認爲attributes()
會默認完成它,或者至少給出選項。但我甚至無法在任何地方找到上述解決方案,所以我不得不自己弄清楚。我是否過分複雜化了這個或者什麼?
編輯:
現在我還用上面的腳本,直到我肯定知道是否訪問@屬性數組是安全與否。
是的,但問題在於它仍然認爲自己是SimpleXML元素,因此您必須將'$ attr ['a']'轉換爲字符串才能正常工作。我將這個數組傳遞給另一個不知道它應該是什麼類型的類,只是它需要是一個數組。 – mseancole 2012-07-11 19:39:15
啊,你在編輯中得到它...循環比我目前做的更好嗎?我會認爲這樣做沒有循環會更快。 – mseancole 2012-07-11 19:42:40
@showerhead:我不知道這是否更好,但我總是學會不要直接閱讀「@屬性」屬性。 – 2012-07-11 19:53:22