猿问

从 XML 文件中读取属性

我正在尝试从 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”作为结果。


阿波罗的战车
浏览 187回答 2
2回答

天涯尽头无女友

$url = "https://xml.websejler.dk/da/baad/1234";$xml = simplexml_load_file($url);echo (string) $xml->baad->attributes()['baadNavn']; // Ongo Bongo

MMMHUHU

您可以使用节点上的 attributes() 函数来获取其属性:$xml_str = '<xml>&nbsp; &nbsp; <node>&nbsp; &nbsp; &nbsp; &nbsp; <someTag cp="c2">content</someTag>&nbsp; &nbsp; </node></xml>';$res = simplexml_load_string($xml_str);$items = $res->xpath("//someTag");var_dump((string) $items[0]->attributes()->cp);返回的元素是一个 SimpleXMLElement,因此为了使用它,我将其转换为字符串(使用(字符串)强制转换)。
随时随地看视频慕课网APP
我要回答