2011-07-26 5 views
1

다음 XML을 구문 분석하려고하지만 SimpleXML에서 자식을 검색 할 수 없습니다 WhateverItem이 첫 번째 요소이고 whateverItem : 두 개 이상의 자식이 포함되어 있습니다 (예 : Properties, whateverItem : Test 등). simplexml에서 자식을 반환하지 않습니다

$xmlDoc = new SimpleXMLElement($xml); 
var_dump($xmlDoc->children()); 

자녀를 돌려 주시겠습니까?

<whateverItem:item 
xmlns:prop="http://whatever.de/core/01/properties/" 
xmlns:srel="http://whatever.de/core/01/structural-relations/" 
xmlns:xlink="http://www.w3.org/1999/xlink" 
xml:base="http://mybasewhatever:8080" 
xlink:type="simple" 
xlink:title="My Item Title" 
xlink:href="/ir/item/whatever:1220" 
last-modification-date="2011-07-07T12:52:55.415Z" > 

    <whateverItem:properties  
    xlink:type="simple" 
    xlink:title="Properties" 
    xlink:href="/ir/item/whatever:1220/properties"> 


    <prop:creation-date>2011-07-04T15:17:50.855Z</prop:creation-date> 
    <srel:created-by xlink:type="simple" xlink:title="System Administrator User" xlink:href="/aa/user-account/whatever:exuser1" /> 
    <prop:public-status>released</prop:public-status> 


    <prop:version xlink:type="simple" xlink:title="This Version" xlink:href="/ir/item/whatever:1220:4"> 
     <version:number >4</version:number> 
     <version:date >2011-07-07T12:52:55.415Z</version:date> 
     <version:status >released</version:status> 
     <srel:modified-by xlink:type="simple" xlink:title="System Administrator User" xlink:href="/aa/user-account/whatever:exuser1" /> 
     <version:comment >Status changed to released for Item whatever:1220.</version:comment> 
    </prop:version> 

    <prop:latest-version xlink:type="simple" xlink:title="Latest Version" xlink:href="/ir/item/whatever:1220:4"> 
     <version:number >4</version:number> 
     <version:date >2011-07-07T12:52:55.415Z</version:date> 
    </prop:latest-version> 

    <prop:latest-release xlink:type="simple" xlink:title="Latest public version" xlink:href="/ir/item/whatever:1220:4"> 
     <release:number >4</release:number> 
     <release:date >2011-07-07T12:52:55.415Z</release:date> 
    </prop:latest-release> 
</whateverItem:properties> 
... 
<whateverItem:Test></whateverItem:Test> 
</whateverItem:item> 
+1

내 출력이 목적 (SimpleXMLElement) # 392 (3) { [ "@attributes"] => 어레이 (1) { [ "마지막 수정 날짜"] => 문자열 (24) "2,011 -07-07T12 : 52 : 55.415Z " } ["속성 "] => 오브젝트 (SimpleXMLElement) # 376 (0)} { ["테스트 "] => 오브젝트 (SimpleXMLElement) # 419 (0) { } } – silex

+0

이상하게도, 나는 단지 @attributes만을 얻는다. –

+1

PHP 버전 5.3.1, 아파치/2.2.14, DOM/XML \t 활성화, DOM/XML의 API 버전 \t 20,031,129는, libxml 버전 \t 2.7.3이 지원 \t이 활성화 HTML, XPath를 지원 \t 활성화, 하는 XPointer 지원 \t가 스키마 지원 \t이 가 지원 \t이 활성화 RelaxNG, 활성화, 활성화, libXML로드 버전 \t 20703, libXML 스트림 \t 활성화, SimpleXML을 지원 \t 활성화, 개정 \t $ 개정 : 281,953 $,,스키마 지원 \t 사용 – silex

답변

1

실제 XML 입력에 'whateverItem'네임 스페이스를 선언 했습니까? xmllint (대부분의 Linux 배포판에서 명령 줄 유틸리티)를 통해 입력을 실행하여 문제가 발생했는지 확인하십시오.

관련 문제