2013-08-12 4 views
0

저는 PHP/개발 초보자이며이 특정 문제에 대한 해결책으로 튜토리얼을 찾을 수 없습니다.PHP를 사용하여 XML에서 ID를 통해 데이터를 가져 오는 방법

온라인 상점을위한 제품 정보가있는 API의 XML 파일이 있습니다. 각각의 실제 제품에는 동일한 페이지에 나열되어야하는 여러 "스타일"이 있습니다. 나는 그들의 ID 번호를 사용하여 그것을하고 싶다.

<products> 
    <product id="001"> 
    <name>Shirt 1 - Women's</name> 
    <price>12.00</price> 
    <color>blue</color> 
    </product> 

    <product id="002"> 
    <name>Shirt 1 - Men's</name> 
    <price>12.00</price> 
    <color>red</color> 
    </product> 
    ... 
    <product id="023"> 
    <name>Shirt 12 - Women's</name> 
    <price>15.00</price> 
    <color>purple</color> 
    </product> 

    <product id="024"> 
    <name>Shirt 12 - Men's</name> 
    <price>15.00</price> 
    <color>yellow</color> 
    </product> 

</products> 
+1

이것은 분명히 예제입니다. ** XML에서 ID로 데이터를 가져 오지 않아야합니다. 읽으십시오 : [기본으로 돌아 가기] (http://www.joelonsoftware.com/articles/fog0000000319.html) –

+0

@YourCommonSense OP는 API에서 xml을 가져옵니다. 무엇을 제안 하시겠습니까? – hek2mgl

+0

우리 모두는 API에서 xml을 얻습니다. 우리가 그대로 유지한다는 것을 의미하지는 않습니다. 예를 들어, 하루에 약 500 개의 XML 파일을 구문 분석하고 데이터베이스에 내용을 저장하는 스크립트가 있습니다. 다른 시나리오가 있습니까? –

답변

1

당신은 당신의 HTML 코드에 XML을 변환하는 XSLT 파일을 사용할 수 있습니다. 다음은 php.net의 문서 및 예제입니다. http://php.net/manual/en/book.xsl.php

또 다른 해결책은 XPath 쿼리를 사용하여 XML에서 데이터를 가져 오는 것입니다. 이렇게하면 XML 데이터를 템플릿 엔진에서 사용할 수있는 PHP 객체 목록으로 변환 할 수 있습니다. 예제 및 정보 : http://php.net/manual/en/class.domxpath.php

관련 문제