我有一个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>
答案 0 :(得分:1)
就像这段代码一样简单:
$xml = simplexml_load_file('/PATH/TO/YOUR/FILE.XML');
foreach ($xml->xpath('//d2lm:carParkIdentity') as $child) {
echo $child;
}
另外,非常欢迎您查看XPath语法here。