이 글에서는 주로 PHP가 XML을 파싱하고 SQL 문을 생성하는 방법을 소개하며, XML 형식 파일의 읽기, 파싱 및 SQL 문자열 접합과 관련된 PHP의 작동 기술이 필요하면 참고할 수 있습니다.
이 글에서는 PHP가 구현하는 예제를 설명합니다. xml을 파싱하고 sql문을 생성하는 방법. 참고용으로 공유합니다.
PHP에서 XML을 구문 분석하는 방법은 여러 가지가 있습니다. 검색만 해도 많은 방법을 찾을 수 있습니다.
오늘 요구 사항이 발생했습니다. 특정 XML에서 노드 속성을 추출한 다음 데이터베이스의 특정 테이블에 있는 필드를 업데이트해야 합니다.
아이디어:
XML을 구문 분석하고 모든 노드 속성을 가져옵니다. –> 노드 컬렉션을 반복하고 해당 속성을 가져옵니다. –> SQL 문자열을 연결하여 배열에 저장합니다. 여기서는
xpath가 사용됩니다. 코드를 작성하는 중에 두 가지 문제가 발생했습니다.
1.xml의 기록 경로 속성이 D:xx인 경우 파일을 로드할 수 없습니다. , 따라서 "/"(리눅스 아래) 구분 기호로 변경됩니다.
2. 노드의 속성을 얻으려면 ::attributes를 사용하세요. 편집기는 빨간색으로 계속 메시지를 표시하고 반나절 문서를 찾은 다음 마지막으로 다음을 사용합니다. ->getAttribute() (너무 이상하기 때문에 ->previousSibling 및 ->nodeValue를 지원함) 문서에 따르면 DOMElement::getAttribute는 오류를 직접 보고합니다.
다음은 다음과 같습니다. 샘플 코드:
<title>xml 转换为 sql</title> <meta http-equiv='content-type' content='text/html; charset=utf-8' /> <style type="text/css"> .tip_info {margin-bottom:10px;} .tip_info span {color:#f00;} </style> <?php $xml = "D:/res/dressConfig.xml"; $doc = new DOMDocument(); $doc->load($xml); $xpath = new DOMXPath($doc); $query = "//i"; $entries = $xpath->query($query); $len = $entries->length; echo "<p class='tip_info'>总共找到:<span>".$len."</span>个节点</p>"; $arr = array(); $idx = 0; while ($idx < $len) { $nodeItem = $entries->item($idx); $id = $nodeItem->getAttribute("i"); $name = $nodeItem->getAttribute("n"); $inf = $nodeItem->getAttribute("inf"); // echo "<p>".$id.'--'.$name.'--'.$inf."</p>"; $idx++; array_push($arr, "update dress_item t SET t.s_name='".$name."',t.s_intro='".$inf."' WHERE t.n_doid=".$id.";"); } $dir = "d:/sql/"; if (!is_dir($dir)) { mkdir($dir); } file_put_contents("d:/sql/dress_item.sql", implode("\n\r", $arr)); echo "生成完毕!"; ?>
데이터는 데이터베이스 테이블에서 생성되므로 발견된 노드 수는 테이블의 총 레코드 수입니다. 생성 후 내용이 올바른지 살펴본 후 SQL 스크립트를 실행하여 목적을 달성할 수 있습니다.
PS: 참조용으로 XML 작업을 위한 여러 온라인 도구가 있습니다.
온라인 XML/JSON 상호 변환 도구:
http://tools.jb51 .net/code/xmljson
온라인 서식XML/온라인 압축XML:
http://tools.jb51.net/code/xmlformat
XML온라인 압축/서식 도구:
http://tools.jb51.net/code/xml_format_compress
XML코드 온라인 서식 지정 및 미화 도구:
http://tools.jb51.net/code/xmlcodeformat
정규식 그룹 캡처 작업의 PHP 구현 예제 PHP 기술
QQ 로그인 원리 및 구현 프로세스의 PHP 구현 PHP 예제
PHP 자동 로딩에 대한 자세한 설명 PHP 예제 파일
위 내용은 XML을 구문 분석하고 SQL 문을 생성하는 PHP 방법 PHP 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!