CRUD 노드와 XML 파일의 노드 값에 대한 간단한 프로그램 [closed]
카테고리 없음CRUD 노드와 XML 파일의 노드 값에 대한 간단한 프로그램 [closed]
필드는 하나의 값만 가져 가기 때문에 xml 파일의 설정을 저장하기로 결정했습니다.
내 XML 파일은 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8"?>
<setting>
<setting1>setting1 value</setting1>
<setting2>setting2 value</setting2>
<setting3>setting3 value</setting3>
....
....
....
</setting>
누구든지 날 노드와 노드 값을 읽고 편집하고 추가하고 삭제하는 간단한 PHP 스크립트를 제안 할 수 있습니까?
해결법
-
==============================
1.
XML이 정말 단순하다면 SimpleXML을 사용하여 CRUD 할 수 있습니다. SimpleXml은 XML을 SimpleXmlElements의 트리 구조로 구문 분석합니다. 요약하면 다음과 같이 사용합니다.
// CREATE $config = new SimpleXmlElement('<settings/>'); $config->setting1 = 'setting1 value'; $config->saveXML('config.xml'); // READ $config = new SimpleXmlElement('config.xml'); echo $config->setting1; echo $config->asXml(); // UPDATE $config->setting1 = 'new value'; $config->setting2 = 'setting2 value'; echo $config->asXml(); // DELETE unset($config->setting1); $config->setting2 = NULL; echo $config->asXML(); unlink('config.xml');
추가 사용 예제와 API 설명은 PHP 매뉴얼을 참조하십시오.
sidenote에서 키 / 값 쌍을 가지고 있다면 일반 old PHP 배열을 사용하여 DBA 또는 APC와 같은 키 / 값 저장소를 저장하고 long ttl로 memcached를 저장할 수도 있습니다.
-
==============================
2.
PHP XQuery 확장을 사용하여 작업을 수행 할 수 있습니다.
let $data := <setting> <setting1>setting1 value</setting1> <setting2>setting2 value</setting2> <setting3>setting3 value</setting3> </setting> return { (: Update :) replace value of node $data/setting1/text() with "Hello World"; (: Delete :) delete node $data/setting2; (: Read :) $data }
위의 예제를 http://www.zorba-xquery.com/html/demo#BJ2a2bNxJc8JVZAl0qyjAelwN9s=에서 실시간으로 시험해 볼 수 있습니다.
XQuery PHP 확장 기능 설치 방법은 http://www.zorba-xquery.com/html/entry/2011/12/27/PHP_Meets_XQuery에서 확인할 수 있습니다.
from https://stackoverflow.com/questions/4906073/a-simple-program-to-crud-node-and-node-values-of-xml-file by cc-by-sa and MIT lisence