2011-04-28 4 views
1

XML을 반환하는 메서드의 반환을 동적으로로드하는 PHP 페이지가 있다고 가정 해 보겠습니다. 즉, ERROR 태그를 확인 "만일" 태그 값에 따라 XML 리턴을 정렬하는 방법은 무엇입니까?

<SYSTEM> 
    <GUY> 
    <ID>500</ID> 
    <NAME>Joseph</NAME> 
    <EMAIL>[email protected]</EMAIL> 
    <ERROR /> 
    </GUY> 
    <GUY> 
    <ID>510</ID> 
    <NAME>Richard</NAME> 
    <EMAIL>[email protected]</EMAIL> 
    </GUY> 
</SYSTEM> 

지금 내 PHP 파일은 간단한 있습니다 XML은이 같은 것입니다. 감지되면 오류를 인쇄합니다. 올바른 결과가 인쇄되기 전에 오류가 인쇄됩니다 (Richard). 둘 다 인쇄해야하지만 올바른 결과를 얻은 후에 오류를 맨 아래에 넣고 싶습니다. 오류는 XML의 첫 번째 결과이기 때문에 먼저 인쇄됩니다. 어떻게 우회 할 수 있습니까? 나는 그것이 간단 할지도 모른다라고 생각한다. 그러나 나는 정말로 그것을 얻지 않고있다.

$xmlresult = simplexml_load_string($xml); 
$error = $xmlresult->xpath("//ERROR"); 

if($error==true){ 
    echo "error message here"; 
} else { 
    echo "wee! no errors!" 
} 
+0

어떤 코드를 사용하고 있습니까? – oblig

+0

메인 포스트에 PHP 검증을 추가했습니다. – astro11

답변

0

나는이 될 것이라고 접근 할 방법 :

내 PHP 검증은 다음과 같이 (이 GUY 태그의 수를 기반으로 실행되므로이 ​​두 번 이상 내 XML에 따라됩니다)입니다 XML 파일을 따라 가면서 오류 결과를 목록에 임시 저장하고, 좋은 결과를 인쇄하십시오. 그런 다음 파일의 끝에 도달하면 오류 목록을 살펴보고 모든 좋은 메시지를 인쇄 할 수 있습니다.

이런 종류의 간단한 알고리즘은 멋진 객체를 제공하는 구문 분석 라이브러리와 더 많은 무차별 대 문자열 기반 메소드를 사용하여 XML을 거치는 모든 방법에 대해 작동해야합니다.

+0

도움을 주셔서 감사합니다. 이것은 내 문제를 해결했습니다. :-) – astro11

관련 문제