정규식을 사용하여 XML 태그에 속성 추가
XML 문서는 정규식을 사용하여 적절하게 구문 분석할 수 없는 구조화되고 올바른 형식의 데이터입니다. XML 데이터를 효과적으로 수정하려면 XML 관련 도구와 라이브러리를 활용하는 것이 중요합니다.
XML 조작을 위한 정규 표현식 방지
정규식을 사용하여 XML 문서를 조작하는 것은 권장되지 않습니다. . XML은 일반 언어가 아니며 복잡한 구조를 탐색하기에는 정규식 패턴이 부족합니다.
XML 확장 사용
대신 다음의 XML 확장을 사용하는 것이 좋습니다. XML 문서를 수정하는 PHP입니다. 다음 예를 고려하십시오.
<code class="php">$xml = new SimpleXml(file_get_contents($xmlFile)); function process_recursive($xmlNode) { $xmlNode->addAttribute('attr', 'myAttr'); foreach ($xmlNode->children() as $childNode) { process_recursive($childNode); } } process_recursive($xml); echo $xml->asXML();</code>
이 코드는 SimpleXml 클래스를 사용하여 XML 문서를 로드합니다. 그런 다음 process_recursive 함수는 XML 트리를 순회하여 각 노드에 원하는 속성을 추가합니다. 마지막으로 수정된 XML은 asXML을 사용하여 인쇄됩니다.
정규식의 제한
정규식은 다음과 같은 복잡한 XML 구조를 처리하지 못합니다.
<code class="xml"><?xml version="1.0" encoding='UTF-8'?> <html> <head> <!-- <meta> ... </meta> --> <script>//<![CDATA[ function load() {document.write('<tt>Test</tt>');} //]]></script> <title><![CDATA[Fancy <<SiteName>> [with Breadcrumbs] > in > title]]></title> </head> <body onload="load()"> <input type="submit" value="multiline button text" /> </body> </html></code>
정규식 패턴은 이러한 요소를 올바르게 처리할 수 없어 잘못된 XML이 발생합니다.
위 내용은 XML 문서를 조작하기 위해 Regexp를 사용하는 것이 효과적입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!