-1
我從NLM(國家醫學圖書館)提取一些藥物數據。我試圖把它轉換的結果是一個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) { }
我在這裏做錯了什麼?我想我可能需要utf8_encode xml,沒有骰子。 Simplexml_load_string也很好,可以預先配置正確的xml DTD。
任何幫助將不勝感激。另外,爲了參考,我試圖引用來自以下的兒童:
$response->children()->SpellAid;
$response->children()->SpellAid[0];
$response->children()->Chemical;
$ response-> Chemical不作爲數組返回。 $ response-> SpellAid實際上是一個simplexml元素,但是 - > Chemical成員是NULL。
至於我可以告訴$響應 - >化學沒有被作爲一個數組返回,但作爲一個元素。試圖迭代它不起作用,循環從不輸入。 $ response-> SpellAid實際上是一個simplexml元素,所以我認爲$ response-> SpellAid-> Chemical會起作用,但是它給了我NULL。 – TheMonarch
此外,一旦事情沒有按照我預期的方式工作,代碼排序的美感就會下降。 – TheMonarch
那麼我複製你的代碼,而不是重寫,它的工作。我真的不知道我做錯了什麼。感謝您的幫助,我想。 – TheMonarch