-
- header("content-type:text/html; charset=utf-8") //UTF-8 인코딩을 사용하도록 PHP 지정
- $xml = simplexml_load_file ("example.xml"); //xml 파일 읽기
- $newxml = $xml->asXML(); //$xml 표준화
- $fp = fopen("newxml.xml", "w "); //새 xml 파일
- fwrite($fp, $newxml); //쓰기 -------xml 파일
- fclose($fp);
코드 복사
php는 xml 파일을 쉽게 생성하고 읽을 수 있습니다.
XML 읽기 및 쓰기 작업은 주로 DOMDocument, DOMElement 및 DOMNodeList를 통해 완료됩니다.
다음은 참고용으로 이러한 클래스를 사용하는 방법을 소개합니다.
1. XML 파일 생성
XML 파일의 경우 다음과 같습니다.
-
- <기사>
- <제목> ;MySQL 데이터베이스에 액세스하는 PHP에 대한 예비 기사
- http://blog.csdn.net/morewindows/article/details/7102362
- MySql 데이터베이스에 액세스하는 PHP에 대한 주요 기사
- < link>http://blog.csdn.net/morewindows/article/details/7102362
-
코드 복사
PHP를 사용하여 생성하는 방법을 살펴보겠습니다.
먼저 새 DOMDocument 개체를 만들고 인코딩 형식을 설정합니다.
-
- $dom = newDOMDocument('1.0', 'UTF-8');
- $dom->formatOutput= true;
코드 복사
노드 생성 및
노드 생성
-
- $rootelement =$dom->createElement("article");
- $title =$dom->createElement("title", "MySql 데이터베이스에 액세스하는 PHP에 대한 예비 기사");
코드를 복사
한 다음 텍스트 콘텐츠가 있는 노드를 만듭니다.
-
- $link =$dom->createElement("link","http://blog.csdn.net/morewindows/article/details/7102362 ");
코드 복사
노드를 먼저 생성한 다음 텍스트 콘텐츠를 추가할 수도 있습니다.
-
- $link = $dom->createElement("link");
- $linktext =$dom->createTextNode('http:/ / /blog.csdn.net/morewindows/article/details/7102362');
- $link->appendChild($linktext);
코드 복사
그런 다음 노드에
및 노드를 추가합니다.
-
- $rootelement->appendChild($title);
- $rootelement->appendChild($link);
코드 복사
마지막으로 DOMDocument 개체에 노드를 추가하고,
-
- $dom->appendChild($rootelement);
코드 복사
이렇게 하면 완전한 XML이 생성됩니다. 그런 다음 전체 XML을 다시 생성합니다.
saveXML()은 XML 텍스트의 일부만 입력할 수도 있습니다(예: echo $dom->saveXML($link)). 노드: http://blog.csdn만 출력됩니다. net/morewindows /article/details/7102362
다음은 PHP에서 데이터 내용을 XML 파일로 출력하는 전체 예입니다. 이 예에서는 PHP 배열을 XML 파일로 출력합니다.
-
- //배열을 XML 파일로 출력
- // by MoreWindows( http://blog.csdn. net/MoreWindows )
- $article_array = array(
- "첫 번째 기사" => array(
- "title"=>"MySql 데이터베이스에 액세스하는 PHP의 기본 기사",
- "link"= >"http://blog.csdn.net/morewindows/article/details/7102362"
- ),
- "두 번째 기사" => array(
- "title"=>"PHP 액세스 MySql 데이터베이스 중급 장 Smarty Technology",
- "link"=>"http://blog.csdn.net/morewindows/article/details/7094642"
- ),
- "3부" => ; array(
- "title"=>"MySql 데이터베이스에 액세스하기 위한 PHP용 고급 AJAX 기술",
- "link"=>"http://blog.csdn.net/morewindows/article/details / 7086524"
- ),
- );
- $dom = new DOMDocument('1.0', 'UTF-8');
- $dom->formatOutput = true;
- $rootelement = $dom->createElement("MoreWindows");
- foreach($article_array as $key=>$value)
- {
- $article = $dom->createElement("article", $ 키);
- $title = $dom->createElement("title", $value['title']);
- $link = $dom->createElement("link", $value[ ' link']);
- $article->appendChild($title);
- $article->appendChild($link);
- $rootelement->appendChild($article);
- }
- $dom->appendChild($rootelement);
- $filename = "D:test.xml";
- echo 'XML 파일 크기' . 'byte';
- ?>
코드 복사
#----------------- --
-
- //배열을 XML 파일로 출력
- // by MoreWindows( http://blog.csdn. net/MoreWindows )
- $article_array = array(
- "첫 번째 기사" => array(
- "title"=>"MySql 데이터베이스에 액세스하는 PHP의 기본 기사",
- "link"= >"http://blog.csdn.net/morewindows/article/details/7102362"
- ),
- "두 번째 기사" => array(
- "title"=>"PHP 액세스 MySql 데이터베이스 중급 장 Smarty Technology",
- "link"=>"http://blog.csdn.net/morewindows/article/details/7094642"
- ),
- "3부" => ; array(
- "title"=>"MySql 데이터베이스에 액세스하기 위한 PHP용 고급 AJAX 기술",
- "link"=>"http://blog.csdn.net/morewindows/article/details / 7086524"
- ),
- );
- $dom = new DOMDocument('1.0', 'UTF-8');
- $dom->formatOutput = true;
- $rootelement = $dom->createElement("MoreWindows");
- foreach($article_array as $key=>$value)
- {
- $article = $dom->createElement("article", $ 키);
- $title = $dom->createElement("title", $value['title']);
- $link = $dom->createElement("link", $value[ ' link']);
- $article->appendChild($title);
- $article->appendChild($link);
- $rootelement->appendChild($article);
- }
- $dom->appendChild($rootelement);
- $filename = "D:test.xml";
- echo 'XML 파일 크기' . 'byte';
- ?>
코드 복사
이 PHP를 실행하면 D 드라이브에 test.xml 파일이 생성됩니다(Win7 XAMPP IE9.0 테스트 통과)
2. XML 파일 읽기
이전 기사에서 생성된 D:test.xml을 예로 들어 보겠습니다.
-
-
//XML 파일 읽기 - // by MoreWindows( http://blog .csdn.net/MoreWindows )
- $filename = "D:test.xml";
- $article_array = array();
$dom = new DOMDocument( ' 1.0', 'UTF-8');
- $dom->load($filename);
//Get$ 기사 = $ dom->getElementsByTagName("article");
- echo ' 노드 수' . $articles->length;
- foreach($articles를 $article로)
- {
- $id = $article->getElementsByTagName("id")->item(0)->nodeValue;
- $title = $article->getElementsByTagName("title")-> ->nodeValue;
- $link = $article->getElementsByTagName("link")->item(0)->nodeValue;
- $article_array[$id] = 배열( '제목'= >$title, 'link'=>$link);
- }
//결과 출력
- echo "
" </li>
<li>var_dump ($article_array);</li>
<li>echo " ";
- ?>
-
-
코드 복사
#------
-
//XML 파일 읽기 - // by MoreWindows( http://blog .csdn.net/MoreWindows )
- $filename = "D:test.xml";
- $article_array = array();
$dom = new DOMDocument( ' 1.0', 'UTF-8');
- $dom->load($filename);
//Get$ 기사 = $ dom->getElementsByTagName("article");
- echo ' 노드 수' . $articles->length;
- foreach($articles를 $article로)
- {
- $id = $article->getElementsByTagName("id")->item(0)->nodeValue;
- $title = $article->getElementsByTagName("title")-> ->nodeValue;
- $link = $article->getElementsByTagName("link")->item(0)->nodeValue;
- $article_array[$id] = 배열( '제목'= >$title, 'link'=>$link);
- }
//결과 출력
- echo "
" </li>
<li>var_dump ($article_array);</li>
<li>echo " ";
- ?>
-
-
-
코드 복사
|