2010-04-10 6 views
1
여기

내가 을 구문 분석 할 페이지입니다 (내가 준 API를 링크는 dev에 테스트입니다 그래서 공개 될 OK) 출력 메신저를 찾고 http://api.scribd.com/api?method=docs.getList&api_key=2apz5npsqin3cjlbj0s6m어떻게 XML 페이지를 분석하여 원하는 방식으로 데이터 조각을 출력합니까?

입니다 (지금은)이 같은

Doc_id: 29638658 
access_key: key-11fg37gwmer54ssq56l3 
secret_password: 1trinfqri6cnv3gf6rnl 
title: Sample 
description: k 
thumbnail_url: http://i6.scribdassets.com/public/images/uploaded/152418747/xTkjCwQaGf_thumbnail.jpeg 
page_count: 100 

ive는 인터넷에서 찾을 수있는 모든 것을 시도했지만 아무 것도 효과가 없습니다.

#text = 
    resultset = 

     29638658 
     key-11fg37gwmer54ssq56l3 
     1trinfqri6cnv3gf6rnl 

     Sample 


     k 

     http://i6.scribdassets.com/public/images/uploaded/152418747/xTkjCwQaGf_thumbnail.jpeg 

     DONE 

     100 


     29713260 
     key-18a9xret4jf02129vlw8 
     25fjsmmvl62l4cbwd1vq 

     book2 


     description bla bla 

     http://i6.scribdassets.com/public/images/uploaded/153065528/oLVqPZMu3zhsOn_thumbnail.jpeg 

     DONE 

     7 

    #text = 

내가 큰 도움 메신저 정말 붙어 필요하고 무엇을 잘 모릅니다 : 나는

<?php 
$xmlDoc = new DOMDocument(); 
$xmlDoc->load("http://api.scribd.com/api?method=docs.getList&api_key=2apz5npsqin3cjlbj0s6m"); 

$x = $xmlDoc->documentElement; 
foreach ($x->childNodes AS $item) { 
    print $item->nodeName . " = " . $item->nodeValue; 
} 



?> 

출력은 다음과 같이 나오는이 하나의 스크립트를 가지고있다. 제발 나를 도와주세요. thnx

+0

http : // stack overflow.com/questions/2611998/trying-to-parse-an-xml-from-a-url-and-it-wont-work "please please"라고 말하면서도 응답하지 않는 사용자의 또 다른 예 이전 답변. –

답변

0

XML 데이터를 새로운 SimpleXmlElement 개체로로드하는 것이 좋습니다. 이렇게하면 문서에 대해 xpath 쿼리를 실행할 수 있습니다.

당신은 작동하지만, 여기에 몇 가지 포인터의 방법에 조금 연구를해야합니다 ...

그래서 같은 XPath를 실행합니다

// $xml is a SimpleXMLElement object 
$xml = simplexml_load_file('/path/to/file'); 
$nodes = $xml->xpath('/xpathquery'); 

를 단일/루트 노드를 나타냅니다 (귀하의 경우 rsp). 이중 슬래시는 모든 일치 노드를 나타냅니다. 예를 들어 // title은 모든 제목을 반환합니다. xpath 쿼리의 각 결과는 SimpleXMLElements의 배열입니다. 결과 번호

# Untested   
$xml = simplexml_load_file('/path/to/file'); 
$nodes = $xml->xpath('//result'); 

foreach ($result as $node) { 
    // Print out the value in title 
    echo $node->title; 
} 

// Print out the amount of results 
echo $xml->rsp->attributes()->totalResultsAvailable; 

마지막 예제가 작동하지 않을 수 있지만, 그 라인을 따라입니다 : 당신은 너무처럼 데이터를 얻을 수 있습니다.

0

신속하고 더러운 방법 물건이 있어야됩니다

<?php 
$x = simplexml_load_file('http://api.scribd.com/api?method=docs.getList&api_key=2apz5npsqin3cjlbj0s6m'); 
foreach($x->resultset->result as $v) { 
    foreach((array)$v as $kk=>$vv) { 
     echo $kk.": ".trim($vv)."<br>\n"; 
    } 
    echo "<br><br>\n"; 
} 

그러면 요청한 형식으로 출력됩니다 :

doc_id: 29638658 
access_key: key-11fg37gwmer54ssq56l3 
secret_password: 1trinfqri6cnv3gf6rnl 
title: Sample 
description: k 
thumbnail_url: http://i6.scribdassets.com/public/images/uploaded/152418747/xTkjCwQaGf_thumbnail.jpeg 
conversion_status: DONE 
page_count: 100 

doc_id: 29713260 
access_key: key-18a9xret4jf02129vlw8 
secret_password: 25fjsmmvl62l4cbwd1vq 
title: book2 
description: description bla bla 
thumbnail_url: http://i6.scribdassets.com/public/images/uploaded/153065528/oLVqPZMu3zhsOn_thumbnail.jpeg 
conversion_status: DONE 
page_count: 7 
관련 문제