为了账号安全,请及时绑定邮箱和手机立即绑定

从 XML 文件中读取属性

从 XML 文件中读取属性

PHP
阿波罗的战车 2022-08-05 10:36:02
我正在尝试从 XML 文件中读取 XML 属性。我想呼应baadNavn。                <?php                $url = "https://xml.websejler.dk/da/baad/1234";                $xml = simplexml_load_file($url);                print_r($xml);                echo $xml[baad][baadNavn];                ?>我错了什么?Print_r给了我:SimpleXMLElement Object ( [baad] => SimpleXMLElement Object ( [@attributes] => Array ( [baadId] => 1234 [maalerId] => 32217 [baadNavn] => Ongo Bongo [baadStatus] => dhkolbaad [dhKlasseStatus] => skrogmedspeciel [nation] => DEN [sejlnummer] => 46 [byggerNavn] => Granada Yacht [byggeAar] => 1978 [maaleDato] => 1991-05-13T00:00:00 [stabgodk] => 0 [skrogMaterialeId] => 1003 [materiale] => GRP [opfolg] => 0 [fysisk] => 1 [baadtypeId] => 146 [rigsejlId] => 28158 [skrogId] => 17214 [specielId] => 79368 ) [certifikat] => SimpleXMLElement Object ( [@attributes] => Array ( [certifikatId] => 1234 [gyldigt] => 0 ) ) [baadtype] => SimpleXMLElement Object ( [@attributes] => Array ( [baadtypeId] => 146 [baadtypeNavn] => GRANADA 31 [baadStatus] => dhkolbaad [dhKlasseStatus] => skrogmedspeciel [dhBeregnes] => 1 [bem] => Granada 311 har samme skrog som Granada 31. De første ca. 35 var med blykøl (KC 0,96) - senere kommer det med jernkøl (KC 1,17) [skrogId] => 17214 [specielId] => 79368 ) ) [rigsejl] => SimpleXMLElement Object ( [@attributes] => Array ( [RigsejlId] => 28158 [E] => 3.27 [P] => 11.14 [HB] => 0.15 [MGM] => 2.10 [MGU] => 1.21 [Tmax] => 12.10 [LP] => 5.23 [FSP] => 0.08 [SPL] => 0.00 [J] => 3.49 [TPS] => 0.00 [JHW] => 0.00 [ISP] => 12.38 [SL] => 0.00 [SLU] => 0.00 [SLE] => 0.00 [SF] => 0.00 [SMG] => 0.00 [SFA] => 0.00 [SMGA] => 0.00 [PropelId] => 2 [propel] => Fri foldepropel med 2-3 blade (2) [RF] => 0 [MF] => 0 [HF] => 0 ) ) [skrog] => SimpleXMLElement Object ( [@attributes] => Array ( [SkrogId] => 17214 [Gmax] => 6.42 [SGmax] => 5.59 [FBSB] => 0.93 [FBBB] => 0.94 [SBmax] => 5.73 [UDFSB] => 0.26 [UDFBB] => 0.26 [OF] => 1.17 [OA] => 0.00 我希望得到“Ongo Bongo”作为结果。
查看完整描述

2 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

$url = "https://xml.websejler.dk/da/baad/1234";

$xml = simplexml_load_file($url);

echo (string) $xml->baad->attributes()['baadNavn']; // Ongo Bongo


查看完整回答
反对 回复 2022-08-05
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

您可以使用节点上的 attributes() 函数来获取其属性:


$xml_str = '<xml>

    <node>

        <someTag cp="c2">content</someTag>

    </node>

</xml>';

$res = simplexml_load_string($xml_str);


$items = $res->xpath("//someTag");

var_dump((string) $items[0]->attributes()->cp);

返回的元素是一个 SimpleXMLElement,因此为了使用它,我将其转换为字符串(使用(字符串)强制转换)。


查看完整回答
反对 回复 2022-08-05
  • 2 回答
  • 0 关注
  • 186 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号