-1
NLM (National Library of Medicine)에서 일부 약물 데이터를 가져옵니다. 나는 XML 문자열입니다 결과의 변환하려고 해요 :simplexml_load_string()에서 요소를 반환하지 않습니다.
<SpellAid>
<Chemical>
<Name>Albuterol</Name>
<CAS>18559-94-9</CAS>
</Chemical>
<Chemical>
<Name>Albuterol [USAN]</Name>
<CAS>18559-94-9</CAS>
</Chemical>
<Chemical>
<Name>dl-Albuterol</Name>
<CAS>18559-94-9</CAS>
</Chemical>
</SpellAid>
내가 할 경우 :
exit(var_dump(simplexml_load_string($response)->children()));
내가 얻을 :
object(SimpleXMLElement)#75 (0) { }
이
exit(var_dump(simplexml_load_string($response)));
을하고 나를 얻는다
object(SimpleXMLElement)#56 (0) { }
내가 뭘 잘못하고 있니? 아마도 나는 xfm, 즉 주사위를 utf8_encode 할 필요가 있다고 생각했습니다. Simplexml_load_string은 적절한 xml DTD를 추가 할만큼 충분히 좋습니다.
도움을 주시면 감사하겠습니다. 또한 참고로, 나는 아이들을 다음과 같이 참조하려고 시도했다 :
$response->children()->SpellAid;
$response->children()->SpellAid[0];
$response->children()->Chemical;
$ response-> 화학 물질이 배열로 반환되지 않는다. $ response-> SpellAid는 사실 simplexml 요소이지만 화학적 멤버는 NULL입니다.
를 지금까지 내가 화학 배열로하지만 요소로 반환되지 않는> $ 응답 - 말할 수있다. 이를 반복하려고 시도하면 루프가 입력되지 않습니다. $ response-> SpellAid는 사실 simplexml 요소이므로 $ response-> SpellAid-> Chemical이 작동한다고 생각했지만 NULL을 제공합니다. – TheMonarch
또한, 일종의 일이 예상대로 작동하지 않으면 코드 분류의 미학이 떨어졌습니다. – TheMonarch
글쎄, 나는 다시 쓰지 않고 코드를 복사했다. 나는 진정으로 내가 뭘 잘못하고 있는지 모릅니다. 내가 도움을 주셔서 감사합니다. – TheMonarch