![](/img/trans.png)
[英]How would I echo this XML data from a database using PHP simpleXML?
[英]How can I extract data from XML to PHP using SimpleXML and echo?
我已成功將LinkedIn API與我的網站集成,但我很難從XML中提取信息。 目前我只是想將其打印出來,這樣我就可以在用戶登錄並獲得許可后繼續使用該信息。
下面是XML的格式,下面是我用來提取信息的代碼。 “名字”,“姓氏”和“標題”調用完美無缺,但如果元素有子標題,則不打印任何內容。 我試過用了
echo 'Positions: ' . $xml->{'positions:(title)'};
但它不起作用。
這是XML:
<person>
<id>
<first-name />
<last-name />
<headline>
<location>
<name>
<country>
<code>
</country>
</location>
<industry>
<summary/>
<positions total="">
<position>
<id>
<title>
<summary>
<start-date>
<year>
<month>
</start-date>
<is-current>
<company>
<name>
</company>
</position>
</person>
這是我一直在嘗試提取信息的代碼。 我知道我必須以某種方式包括副標題,但我只是不知道如何!
echo 'First Name: ' . $xml->{'first-name'};
echo '<br/>';
echo 'Last Name: ' . $xml->{'last-name'};
echo '<br/>';
echo 'Headline: ' . $xml->{'headline'};
echo '<br/>';
echo 'Positions: ' . $xml->{'positions'};
非常感謝任何幫助,感謝閱讀!
使用SimpleXML,您將訪問LinkedIn XML數據屬性,如下所示:
在屬性中帶有破折號的任何內容都會獲得{}
,因此first-name
變為:
$xml->{'first-name'}
沒有像headline
這樣的破折號的任何東西都被引用為:
$xml->headline
任何集合的東西,例如positions
,都被引用為:
foreach($xml-positions as $position) {
echo $position->title;
echo $position->{'is-current'};
}
您的XML無效,格式不正確。 無論如何,這里有一個示例XML及其使用方法。
$v = <<<ABC
<vitrine>
<canal>Hotwords</canal>
<product id="0">
<descricao>MP3 Apple iPod Class...</descricao>
<loja>ApetreXo.com</loja>
<preco>à vista R$765,22</preco>
<urlImagem>http://im</urlImagem>
<urlProduto>http://</urlProduto>
</product>
</vitrine>
ABC;
$xml = simplexml_load_string($v);
foreach ($xml->product as $c){
echo $c->loja; //echoing out value of 'loja'
}
嘗試了保羅對以上問題的回答:
foreach($xml-positions as $position) {
echo $position->title;
echo $position->{'is-current'};
}
對我不起作用 - 所以我使用了它 - 不是那么優雅而是有效
for($position_num = 0; $position_num < 10;$position_num++){
echo $xml->positions->position[$position_num]->company->name;
}
嘗試改用PHP的XML分析器:
您的XML格式不正確......有幾個元素沒有關閉標記。 因此,我們無法確定XML的結構。 (您無法像使用HTML那樣用XML來做到這一點。)
話雖如此,假設<person>
是上下文節點,您可以使用XPath表達式獲取<title>
元素的內容,如
$xml->xpath('positions/position/title');
我假設$ xml是一個SimpleXMLElement對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.