【发布时间】:2015-12-07 13:58:22
【问题描述】:
我正在尝试使用 CAAML 标准解析 xml 文件。 Check it out here!
我想列出所有区域代码为 AT7R9 的部分
我找到了这段代码,但不知道如何解析区域代码部分:
$doc = new DOMDocument();
$doc->load('lws.xml');
$xpath = new DOMXpath($doc);
$xpath->registerNamespace("caaml", "http://caaml.org/Schemas/V5.0/Profiles/BulletinEAWS");
if ($doc->schemaValidate('http://caaml.org/Schemas/V5.0/Profiles/BulletinEAWS/CAAMLv5_BulletinEAWS.xsd')) {
echo '<ul>'."\n";
echo ' <li>dateTimeReport: <img src="'.$xpath->evaluate("//caaml:fileReferenceURI")->item(0)->nodeValue.'" alt="Lawinenlagebericht vom '.$xpath->evaluate("//caaml:MetaData/caaml:dateTimeReport")->item(0)->nodeValue.'"></li>'."\n";
echo ' <li>dateTimeReport: '.$xpath->evaluate("//caaml:MetaData/caaml:dateTimeReport")->item(0)->nodeValue.'</li>'."\n";
echo ' <li>srcRef: '.$xpath->evaluate("//caaml:MetaData/caaml:srcRef/@*[local-name()='href']")->item(0)->nodeValue.'</li>'."\n";
echo ' <li>comment: '.$xpath->evaluate("//caaml:BulletinMeasurements/caaml:comment")->item(0)->nodeValue.'</li>'."\n";
echo ' <li>Warnstufe R9: '.$xpath->evaluate("./caaml:locRef")->item(0)->nodeValue.'</li>'."\n";
echo '</ul>'."\n";
}
有人可以帮我分析一下 R9 的 DangerRating 部分吗?
这是 xml 部分:
<caaml:DangerRating>
<caaml:locRef xlink:href="AT7R9"/>
<caaml:validTime>
<caaml:TimePeriod>
<caaml:beginPosition>2015-04-13T00:00:00+02:00</caaml:beginPosition>
<caaml:endPosition>2015-04-13T11:59:59+02:00</caaml:endPosition>
</caaml:TimePeriod>
</caaml:validTime>
<caaml:validElevation>
<caaml:ElevationRange uom="m">
<caaml:beginPosition>2200</caaml:beginPosition>
</caaml:ElevationRange>
</caaml:validElevation>
<caaml:mainValue>1</caaml:mainValue>
</caaml:DangerRating>
<caaml:DangerRating>
<caaml:locRef xlink:href="AT7R9"/>
<caaml:validTime>
<caaml:TimePeriod>
<caaml:beginPosition>2015-04-13T00:00:00+02:00</caaml:beginPosition>
<caaml:endPosition>2015-04-13T11:59:59+02:00</caaml:endPosition>
</caaml:TimePeriod>
</caaml:validTime>
<caaml:validElevation>
<caaml:ElevationRange uom="m">
<caaml:endPosition>2200</caaml:endPosition>
</caaml:ElevationRange>
</caaml:validElevation>
<caaml:mainValue>2</caaml:mainValue>
</caaml:DangerRating>
<caaml:DangerRating>
<caaml:locRef xlink:href="AT7R9"/>
<caaml:validTime>
<caaml:TimePeriod>
<caaml:beginPosition>2015-04-13T12:00:00+02:00</caaml:beginPosition>
<caaml:endPosition>2015-04-13T23:59:59+02:00</caaml:endPosition>
</caaml:TimePeriod>
</caaml:validTime>
<caaml:validElevation>
<caaml:ElevationRange uom="m">
<caaml:beginPosition>2800</caaml:beginPosition>
</caaml:ElevationRange>
</caaml:validElevation>
<caaml:mainValue>2</caaml:mainValue>
</caaml:DangerRating>
<caaml:DangerRating>
<caaml:locRef xlink:href="AT7R9"/>
<caaml:validTime>
<caaml:TimePeriod>
<caaml:beginPosition>2015-04-13T12:00:00+02:00</caaml:beginPosition>
<caaml:endPosition>2015-04-13T23:59:59+02:00</caaml:endPosition>
</caaml:TimePeriod>
</caaml:validTime>
<caaml:validElevation>
<caaml:ElevationRange uom="m">
<caaml:endPosition>2800</caaml:endPosition>
</caaml:ElevationRange>
</caaml:validElevation>
<caaml:mainValue>3</caaml:mainValue>
</caaml:DangerRating>
<caaml:DangerRating>
【问题讨论】: