繁体   English   中英

如何在PHP中通过SImpleXML访问XML数据

[英]How to access XML data via SImpleXML in PHP

我有一个XML源,它似乎正在使用d2LogicalModel标记,而且我真的很想弄清楚如何使用PHP的SimpleXML从其中提取任何数据。

我在下面提供了XML的简化版本:如何提取carParkIdentity? 如何访问特定的ID?

然后,我可以自己找出其余数据!

谢谢一群!

<d2lm:d2LogicalModel xmlns:d2lm="http://datex2.eu/schema/1_0/1_0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xalan="http://xml.apache.org/xslt" xmlns:java="http://xml.apache.org/xalan/java" modelBaseVersion="1.0" xsi:schemaLocation="http://datex2.eu/schema/1_0/1_0 http://datex2.eu/schema/1_0/1_0/DATEXIISchema_1_0_1_0.xsd">
  <d2lm:exchange>...</d2lm:exchange>
  <d2lm:payloadPublication lang="en" xsi:type="d2lm:SituationPublication">
    <d2lm:situation id="CPN0017">
      <d2lm:situationRecord id="CPN0017_1" xsi:type="d2lm:CarParks">
        <d2lm:situationRecordCreationTime>2017-01-03T10:47:41</d2lm:situationRecordCreationTime>
        <d2lm:situationRecordVersion>1</d2lm:situationRecordVersion>
        <d2lm:carParkIdentity>Chapelfield, Chapelfield Road, N:CPN0017</d2lm:carParkIdentity>
        <d2lm:carParkOccupancy>77.0</d2lm:carParkOccupancy>
        <d2lm:carParkStatus>enoughSpacesAvailable</d2lm:carParkStatus>
      </d2lm:situationRecord>
    </d2lm:situation>
  </d2lm:payloadPublication>
</d2lm:d2LogicalModel>

就像这段代码一样简单:

$xml = simplexml_load_file('/PATH/TO/YOUR/FILE.XML');

foreach ($xml->xpath('//d2lm:carParkIdentity') as $child) {

    echo $child;

}

此外,我们非常欢迎您在此处阅读 XPath语法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM