在SimpleXML 中使用冒號存取XML 命名空間
XML 命名空間,由標籤和屬性名稱中的冒號指示,允許多種格式的組合在一個文件中。 SimpleXML 提供了一種使用children() 和attributes() 方法存取特定命名空間中的元素和屬性的機制。
命名空間存取問題
嘗試存取元素時或使用SimpleXML 名稱中帶有冒號的屬性,語法->ns:element 或->{'ns: element'} 可能不起作用。冒號表示命名空間,需要使用children()方法暫時切換到該命名空間。
解決方案
存取特定的元素和屬性命名空間:
初始命名空間選擇
載入時也可以指定初始命名空間使用 simplexml_load_string 或 simplexml_load_file 的第四個參數作為 $namespace_or_prefix 的 XML。這消除了對初始child() 調用的需要,例如$sx = simplexml_load_string($xml, null, 0, XMLNS_EG1);.
簡寫表示法(不推薦)
作為簡寫,您可以使用命名空間的本地別名作為children() 中的第二個參數,屬性()。然而,依賴完整的命名空間 URI 是實現一致性和麵向未來的首選方法。
以上是如何使用 SimpleXML 存取具有命名空間的 XML 元素和屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!