2011-08-11 7 views
1

XML 형식으로 데이터를 반환하는 웹 서비스가 있습니다. xml 결과는 너무 복잡하고 각 태그에 많은 속성이 첨부되어 있습니다. 일부만 필요합니다. 즉 전체 XML에서 일부 속성 만 필요합니다.PHP에서 XML을 구문 분석하는 것이 더 나은 방법은 무엇입니까?

두 가지 방법으로 구문 분석을 시도했습니다. simpleXMLELEMENT

  • 를 사용

    1. XPATH는 XML 문자열로 json_encode 같은

    내 질문은 json_decode : 어느 하나가 성능면에서 더 나은 무엇입니까?

    나는 위에서 언급 한 두 가지 접근법을 사용하여 원하는 데이터를 얻습니다. 다른 더 나은 접근법은 인정할 만하다. 모두 함께 XML을 잊고 대신 데이터를 전송하기 훨씬 가벼운 무게의 방법입니다 JSON을 사용하여

    감사

  • +0

    SimpleXML을 사용하는 것이 더 빠르거나, JSON 인코딩/디코딩 ** 및 ** SimpleXML을 사용하는 것이 더 빠르다는 것을 알고 싶습니까? – Brad

    답변

    1

    . 파싱은 다른 이야기 일 수 있습니다.

    나는 xml을 디코딩하는 json이 무슨 의미인지 모르겠다. 이것이 정확히 어떻게 작동 할 것으로 예상됩니까? json 데이터 만 json으로 디코딩 할 수 있고 xml 데이터는 디코딩 할 수 없습니다.

    xml ...을 구문 분석하는 경우 simplexml은 전체 XML 문서를 메모리로로드합니다. XMLReader를 사용하여 XML 노드를 노드별로 파싱하고 찾고있는 데이터를 찾을 때 중지 할 수 있습니다. 코드 작성이 어려우나, 아마도 가장 빠르다.

    http://www.php.net/manual/en/class.xmlreader.php

    몇 버전을 출시하고 있지만 특정 상황에 대한 몇 가지 실제 벤치마킹을 할 수 있습니다.

    관련 문제