我如何提取“所有”;TickerSymbol";外部XML文件中的元素,使用PHP?

我如何提取“所有”;TickerSymbol";外部XML文件中的元素,使用PHP?,php,xml,Php,Xml,我想编写一个PHP脚本,从以下外部页面中提取所有元素(仅股票代码): 因此在撰写本文时,输出将是 瓦戈夫17 德姆·瓦戈夫17 GOP.VAGOV17 NJGOV17 我尝试了loadXML()和DOMDocument::getElementsByTagName()的变体,但不断出现错误。上面页面中的XML似乎格式良好 提前谢谢 这是您的代码。让我知道工作与否 希望您的xml文件名为“all.xml” <?php if (file_exists('all.xml')) {

我想编写一个PHP脚本,从以下外部页面中提取所有元素(仅股票代码):

因此在撰写本文时,输出将是

瓦戈夫17

德姆·瓦戈夫17

GOP.VAGOV17

NJGOV17

我尝试了loadXML()和DOMDocument::getElementsByTagName()的变体,但不断出现错误。上面页面中的XML似乎格式良好


提前谢谢

这是您的代码。让我知道工作与否

希望您的xml文件名为“all.xml”

<?php 

if (file_exists('all.xml')) 
{
    $xml = simplexml_load_file('all.xml');

     foreach ($xml as $k)
     {
        $tag =  $k->getName();
        $i = 0;
        foreach($xml->$tag->children() as $key)
        {
            $marketData = $key->getName();

            echo $xml->$tag->MarketData[$i++]->TickerSymbol . "<br>";
        }
     }
}
else
 {
    exit('Failed to open all.xml.');
}
getName();
$i=0;
foreach($xml->$tag->children()作为$key)
{
$marketData=$key->getName();
echo$xml->$tag->MarketData[$i++]->TickerSymbol.“
”; } } } 其他的 { 退出('未能打开所有.xml'); }
您可以使用

然后可以使用foreach循环所有数据

例如:

$context  = stream_context_create(array('http' => array('header' => 'Accept: application/xml')));
$url = 'https://www.predictit.org/api/marketdata/all/';

$xml = file_get_contents($url, false, $context);
$elements = simplexml_load_string($xml);

foreach ($elements->Markets->MarketData as $marketData) {

    echo $marketData->TickerSymbol . "<br>";

    foreach ($marketData->Contracts->MarketContract as $contract) {
        echo "-" . $contract->TickerSymbol . "<br>";
    }
}

等等

您尝试过什么,在尝试时出现了哪些确切的错误?这不是免费的编码服务。
$xml='.@file\u get\u contents('https://www.predictit.org/api/marketdata/all/');      $dom=新的DOMDocument$dom->loadXML($xml)$books=$dom->getElementsByTagName('TickerSymbol');foreach($books as$book){echo$book->nodeValue,PHP_EOL;}
DOMDocument::loadXML():应该是Start标记,'恐怕它不起作用。实际上,当我使用loadXML()时,我在我的原始代码中遇到了类似的错误。警告:simplexml_load_file():a.xml:1:解析器错误:应为开始标记,'我所做的是首先将您的xml文件保存为all.xml。将其保存在同一目录中。然后运行此代码。如果你仍然得到错误,请张贴此错误的图片。在我的情况下,它的工作很好,如果你需要照片,我可以给你。谢谢。第四只鸟的解决方案最终对我有效。无论如何,非常感谢您的时间和帮助!
VAGOV17
-DEM.VAGOV17
-GOP.VAGOV17
NJGOV17
-DEM.NJGOV17
-GOP.NJGOV17
MAYOR.NYC2017
-BDB.MAYOR.NYC2017
-WEINER.MAYOR.NYC2017
-QUINN.MAYOR.NYC2017
-STRINGER.MAYOR.NYC2017