xml_parse_into_struct() 함수는 XML 데이터를 배열로 구문 분석합니다.
이 함수는 XML 데이터를 2개의 배열로 구문 분석합니다.
값 배열 - 구문 분석된 XML의 데이터를 포함합니다.
인덱스 배열 - 값 배열의 값 위치에 대한 포인터를 포함합니다.
성공하면 함수는 1을 반환합니다. 실패하면 0이 반환됩니다.
xml_parse_into_struct(파서,xml,value_arr,index_arr)
매개변수 | 설명하다 |
---|---|
파서 | 필수의. 사용할 XML 구문 분석기를 지정합니다. |
xml | 필수의. 구문 분석할 XML 데이터를 지정합니다. |
value_arr | 필수의. XML 데이터의 대상 배열을 지정합니다. |
index_arr | 선택 과목. 인덱스 데이터의 대상 배열을 지정합니다. |
참고: xml_parse_into_struct() 함수는 성공하면 1을, 실패하면 0을 반환합니다. 이는 TRUE, FALSE와 다르기 때문에 === 연산자 등을 사용할 때는 주의하세요.
XML 파일
<?xml version="1.0" 인코딩="ISO-8859-1"?><note><to>Tove</to><from>Jani</from><heading>알림</heading><body>Don 이번 주말에 저를 잊지 마세요!</body></note>
PHP 코드
<?php//잘못된 xml 파일$xmlfile = 'test.xml';$xmlparser = xml_parser_create();// 파일을 열고 데이터 읽기$fp = fopen($xmlfile, 'r');$xmldata = fread( $fp, 4096);xml_parse_into_struct($xmlparser,$xmldata,$values);xml_parser_free($xmlparser);print_r($values);?>
위 코드의 출력은 다음과 같습니다.
Array([0] => 배열 ( [태그] => 참고 [유형] => 열기 [레벨] => 1 [값] => )[1] => 배열 ( [태그] => TO [유형] = > 완료 [레벨] => 2 [값] => Tove )[2] => 배열 ( [태그] => NOTE [값] => [유형] => cdata [레벨] => 1 ) [3] = > 배열([태그] => FROM [유형] => 전체 [레벨] => 2 [값] => Jani )[4] => 배열 ( [태그] => NOTE [값] => [유형] => cdata [레벨] = > 1 ) [5] => 배열 ( [태그] => HEADING [유형] => 완료 [레벨] => 2 [값] => 알림 )[6] => 배열 ( [태그] => 참고 [값 ] => [유형] => cdata [레벨] => 1 ) [7] => 배열 ( [태그] => BODY [유형] => 완료 [레벨] => 2 [값] => 이번 주말에 저를 잊지 마세요! )[ 8] => 배열 ( [태그] => NOTE [값] => [유형] => cdata [레벨] => 1 )[9] => 배열 ( [태그] => NOTE [유형] => 닫기 [ 레벨] => 1 ))