Dưới đây tôi có một tập lệnh PHP mà tôi cần tìm kiếm thông qua một tệp XML và tìm ID cho <AnotherChild>
. Đối với một số lý do, tại thời điểm nó trả về 0 kết quả và tôi không thể hiểu tại sao. Nếu bất cứ ai có thể thấy lý do tại sao nó trả về 0 kết quả tôi thực sự đánh giá cao nếu họ có thể cho tôi biết lý do tại sao.Tìm kiếm XPath PHP trả về 0 kết quả
XML:
<TransXChange xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.transxchange.org.uk/" xsi:schemaLocation="http://www.transxchange.org.uk/ http://www.transxchange.org.uk/schema/2.1/TransXChange_general.xsd" CreationDateTime="2013-07-12T18:12:21.8122032+01:00" ModificationDateTime="2013-07-12T18:12:21.8122032+01:00" Modification="new" RevisionNumber="3" FileName="swe_44-611A-1-y10.xml" SchemaVersion="2.1">
<Node1>...</Node1>
<Node2>...</Node2>
<Node3>...</Node3>
<Node4>...</Node4>
<Node5>...</Node5>
<Node6>...</Node6>
<Node7>
<Child>
<id>ABCDEFG123</id>
</Child>
<AnotherChild>
<id>ABCDEFG124</id>
</AnotherChild>
</Node7>
<Node8>...</Node8>
</TransXChange>
PHP:
<?php
$xmldoc = new DOMDocument();
$xmldoc->load("directory1/directory2/file.xml");
$xpathvar = new DOMXPath($xmldoc);
$xpathvar->registerNamespace('transXchange', 'http://www.transxchange.org.uk/');
$queryResult = $xpathvar->query('//AnotherChild/id');
foreach($queryResult as $result) {
echo $result->textContent;
}
?>
Cảm ơn
thể trùng lặp của [xpath với namespace] (http: // stackoverflow.com/questions/9827685/xpath-with-namespace) – Wrikken
[cái này có thể tốt hơn] (http://stackoverflow.com/questions/6475394/php-xpath-query-on-xml-with-default- không gian tên-ràng buộc) – Wrikken
@Wrikken Tôi vừa xem xét cả hai câu trả lời đó và không thể xem cách tôi điều chỉnh mã của mình để khắc phục sự cố của mình như thế nào? – jskidd3