使用 SimpleXML 刪除 XML 節點時遇到問題?考慮 DOM 和 XPath
在 SimpleXML 中使用具有不同屬性的相同 XML 元素時,有時可能需要刪除特定元素。但是,嘗試使用 unset() 函數執行此操作可能不會產生所需的結果。
探索 DOM 和 XPath 替代方案
SimpleXML 的修改功能有限。另一種方法是利用 DOM 擴充功能及其 dom_import_simplexml() 函數,該函數可以將 SimpleXMLElement 轉換為 DOMElement。
程式碼範例
以下程式碼示範如何使用DOM 刪除具有特定屬性的XML 元素:
$data = '<data><seg>
透過使用DOM,此程式碼成功刪除具有指定id 的seg 元素。
用於簡單節點選擇的XPath
XPath (SimpleXMLElement->xpath) 提供了一種更簡單的方法來選擇特定節點節點:
$segs = $doc->xpath('//seq[@id="A12"]'); if (count($segs) >= 1) { $seg = $segs[0]; } // Perform the same deletion procedure as with DOM
利用DOM 或XPath 可以克服以下限制: SimpleXML的修改功能,可讓您有效刪除具有特定屬性的 XML 節點。
以上是使用 SimpleXML 刪除特定 XML 節點時遇到問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!