SimpleXML에서는 XML 문서에 액세스하고 수정하는 것이 편리할 수 있습니다. 그러나 특정 하위 요소를 제거하는 경우 특정 제한 사항이 발생할 수 있습니다.
다음 XML 구조를 고려하세요.
<data> <seg>
다음을 사용하여 ID가 "A12"인 seg 요소를 제거하려면 SimpleXML의 경우 다음 코드를 시도해 볼 수 있습니다.
foreach($doc->seg as $seg) { if($seg['id'] == 'A12') { unset($seg); } }
안타깝게도 이 접근 방식은 다음과 같은 이유로 원하는 요소를 제거하지 못합니다. SimpleXML의 얕은 수정 깊이. 실제로 제거하려면 다음 솔루션을 활용하는 것이 좋습니다.
DOM 확장은 XML 문서를 수정하기 위한 대체 방법을 제공합니다. dom_import_simplexml()을 사용하여 SimpleXMLElement를 DOMElement로 변환하면 더욱 강력한 조작 기능에 액세스할 수 있습니다.
$data = '<data> <seg>
이 코드는 대상 세그먼트 요소를 성공적으로 제거하여 다음 XML을 생성합니다.
<?xml version="1.0"?> <data><seg>
또한 다음과 함께 XPath를 사용합니다. SimpleXML은 특정 노드를 선택하는 간결한 방법을 제공합니다.
$segs = $doc->xpath('//seg[@id="A12"]'); if (count($segs) >= 1) { $seg = $segs[0]; } // Same deletion procedure as above
위 내용은 PHP SimpleXML에서 특정 속성을 가진 하위 요소를 효과적으로 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!