PHP에서 xml 노드 값을 변경하는 방법: 1. 데이터베이스에서 데이터를 읽습니다. 2. xml 파일을 작성합니다. 3. DOMDocument 개체를 만들고 xml 파일을 로드합니다. 지정된 노드.
이 문서의 운영 환경: Windows 7 시스템, PHP 7.1 버전, Dell G3 컴퓨터
php로 xml 노드 값을 변경하는 방법은 무엇입니까?
php는 xml 노드의 값을 수정합니다
오늘 막 구현한 기능인데, 많은 정보를 검색해본 결과 원래 xpath를 사용하고 싶었지만 xpath에 대해 잘 몰랐습니다. 큰 원을 둘러본 후 DOMDocument를 사용하기로 결정했습니다.
여기에 표시해 두시면 나중에 정보를 찾기 위해 너무 열심히 노력하지 않아도 됩니다.
먼저 데이터베이스에서 데이터를 읽은 다음 xml 파일을 작성합니다. xml 파일 형식은 다음과 같습니다.
mainchart.xml
<?xml version="1.0" encoding="utf-8"?> <records> <record> <pono>5008171</pono> <status>3</status> <opentime>2010.06.13 14:19</opentime> <closetime>2010.06.16 14:19</closetime> <potype>balance</potype> <variety/> <margin/> <openprice/> <closeprice/> <zhisun/> <zhiying/> <lowest/> <highest/> <netvalue/> <openamount/> <openinterest/> <amount/> <point/> <positiontime>3</positiontime> <memo>TRMM-DP(123005)-D</memo> </record> <record> <pono>5011083</pono> <status>3</status> <opentime>2010.06.15 16:15</opentime> <closetime>2010.06.15 16:23</closetime> <potype>buy</potype> <variety>eurusd</variety> <margin/> <openprice>1.31822</openprice> <closeprice>1.31655</closeprice> <zhisun>0</zhisun> <zhiying>0</zhiying> <lowest/> <highest/> <netvalue/> <openamount/> <openinterest/> <amount/> <point/> <positiontime>00:08:00</positiontime> <memo>aaafff</memo> </record> <record> <pono>5011913</pono> <status>3</status> <opentime>2010.06.15 16:51</opentime> <closetime>2010.06.15 17:19</closetime> <potype>sell</potype> <variety>eurusd</variety> <margin/> <openprice>1.31819</openprice> <closeprice>1.31809</closeprice> <zhisun>0</zhisun> <zhiying>0</zhiying> <lowest/> <highest/> <netvalue/> <openamount/> <openinterest/> <amount/> <point/> <positiontime>00:28:00</positiontime> <memo>eee</memo> </record> </records>
PHP 파일에서 처리 중입니다.
$file ="mainchart.xml"; //创建DOMDocument的对象 $dom=new DOMDocument('1.0'); //载入mainchart.xml文件 $dom->load($file); //获得record节点的集合 $records = $dom->getElementsByTagName('record'); //遍历record节点的集合 foreach($records as $record){ //如果record节点的pono子节点的值满足条件,就修改该record节点下memo子节点的值 if($record->getElementsByTagName('pono')->item(0)->nodeValue == $_GET['id']){ $record->getElementsByTagName('memo')->item(0)->nodeValue = $_GET['content']; } } $dom->save('mainchart.xml');
$_GET['id'] 및 $_GET['content']는 ajax가 전달하는 매개변수입니다.
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP에서 xml 노드 값을 변경하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!