我对xml和php的了解有点基础,但已经能够解析一个简单的xml文档(一个级别):
<numbers>
<number>1</number>
<number>2</number>
</numbers>
我正在尝试从提供金条最新市场价格的网站解析XML文档。我想我需要一个有偿的专业人士,但我想自己试一试。
XML文件如下所示:
<envelope>
<message type="MARKET_DEPTH_A" version="0.1">
<market>
<pitches>
<pitch
securityClassNarrative="GOLD"
securityId="AUXLN"
considerationCurrency="GBP"
>
<buyPrices>
<price
actionIndicator="B"
quantity="0.153"
limit="23477"
/>
</buyPrices>
<sellPrices>
<price
actionIndicator="S"
quantity="0.058"
limit="23589"
/>
</sellPrices>
</pitch>
</pitches>
</market>
</message>
</envelope>
并且只是O不知道如何访问“标题”中的值。 (无论用语是什么)
听起来好像我要求别人为我做这件事,我不想要,但我不知道要搜索什么〜它看起来不像我常规的xml结构。
答案 0 :(得分:3)
使用SimpleXML,您可以使用数组表示法获取属性。
例如,对于您的XML数据,您可以使用如下代码部分代码:
$string = <<<XML
<envelope>
<message type="MARKET_DEPTH_A" version="0.1">
...
...
</message>
</envelope>
XML;
$xml = simplexml_load_string($string);
echo (string)$xml->message['type'] . '<br />';
echo (string)$xml->message->market->pitches->pitch['securityId'] . '<br />';
echo (string)$xml->message->market->pitches->pitch->sellPrices->price['limit'] . '<br />';
注意:我使用simplexml_load_string
因为我在字符串变量中有XML数据;但您也可以使用simplexml_load_file
,具体取决于您的情况/
你会得到以下输出:
MARKET_DEPTH_A
AUXLN
23589
答案 1 :(得分:0)
这非常简单XML :) ..查看SimpleXML的php manual。如果您需要除此之外的任何帮助,请告诉我们
答案 2 :(得分:0)