php
  • xml
  • xml-parsing
  • 2017-01-10 1 views 0 likes 
    0

    xml_parse_into_struct에 다음 문자열을 입력하면 "test"가 완료로 표시됩니다. 나에게 그것은 결함이 아니며 문제가된다.xml_parse_into_struct에서 혼동 됨

    올바르게 구문 분석되고 있습니까? "테스트"가 완전하게 붕괴되지 않도록 설정할 수있는 옵션은 무엇입니까?

    <?php 
    $s = 
    '<xml> 
        <test> 
    I feel 
    incomplete 
        </test> 
    </xml>'; 
    $p = xml_parser_create(); 
    xml_parse_into_struct($p,$s,$vals,$index); 
    header('content-type:text/plain'); 
    print_r($vals); 
    //output 
    Array 
    (
        [0] => Array 
         (
          [tag] => XML 
          [type] => open 
          [level] => 1 
          [value] => 
    
         ) 
    
        [1] => Array 
         (
          [tag] => TEST 
          [type] => complete 
          [level] => 2 
          [value] => 
    I feel 
    incomplete 
    
         ) 
    
        [2] => Array 
         (
          [tag] => XML 
          [value] => 
    
          [type] => cdata 
          [level] => 1 
         ) 
    
        [3] => Array 
         (
          [tag] => XML 
          [type] => close 
          [level] => 1 
         ) 
    
    ) 
    
    +1

    API와 같은 오래된 색소폰을 사용하지 마십시오. 이전 버전과의 호환성을 위해 여기에 있지만 DOM, XMLReader 또는 SimpleXML을 사용하는 것이 훨씬 쉽습니다. – ThW

    답변

    0

    동작이 정확합니다. 태그는 모든 데이터를 포함하고 닫히고 내부에 태그가 없기 때문에 완료되었습니다.

    관련 문제