PHP'da XQuery nasıl yürütülür? Bana bir örnek verebilirmisin?PHP ile bir XQuery Çalıştırın
Teşekkür ederiz.
PHP'da XQuery nasıl yürütülür? Bana bir örnek verebilirmisin?PHP ile bir XQuery Çalıştırın
Teşekkür ederiz.
http://www.pecl.php.net/package/Zorba'a bir göz attınız mı?
armut paketi: http://www.pecl.php.net/package/Zorba (hata 404 bağlantı)
YENİ (2011): http://www.zorba-xquery.com/html/entry/2011/12/27/PHP_Meets_XQuery
zorba belgeleri:
//Include for the Object-Oriented API
require ‘zorba_api.php’;
//Initialization of Zorba store
$store = InMemoryStore::getInstance();
//Initialization of Zorba
$zorba = Zorba::getInstance($store);
$xquery = <<< EOT
let $message := ‘Hello World!’
return
<results>
<message>{$message}</message>
</results>
EOT;
//Compile the query
$lQuery = $zorba->compileQuery($xquery);
//Run the query…
echo $lQuery->execute();
//…and destroy it
$lQuery->destroy();
//Shutdown of Zorba
$zorba->shutdown();
//Shutdown of Zorba store
InMemoryStore::shutdown($store);
PHP: http://www.zorba-xquery.com/
zorba dokümanlar basit bir örnek sunulmuştur XQuery'yi destekleyen herhangi bir yerel veya ortak XML ayrıştırıcısına sahip değil (Eğer hatalıysam, birileri bana haber verir). Ancak, XPath sorgularını işleyen iki oldukça standart uzantı var.
Şahsen, simplexml
'un daha iyi olduğunu düşünüyorum. Basitçe
kullanın ve sonuçlardan yararlanın.
Kapsamlı DOM sınıfı, Xpath sorgularını da destekler. Gördüğüm kadarıyla, DOM kullanmanın tek gerçek avantajı, sonuçların daha büyük XML nesnesinden doğrudan değiştirilebilmesi veya silinebilmesidir.
İyi şanslar.
XPath, XQuery ile aynı değildir. – VolkerK
Biliyorum, değil mi? Muhtemelen ilk söylediklerim PHP'nin XQUERY için yerel desteğe sahip olmamasıydı. Bir dahaki sefere, faydalı alternatif çözümler eklememeliyim. – Anthony
Yine de bu kadar genel bir soru için xpath'in xquery için uygun bir alternatif olduğunu düşünmüyorum. En azından bazı büyük varsayımlar gerektirir. Ama yine de .... – VolkerK
DOMDocument ve DOMXPath ile de doktorunun
bir XQuery Lite sınıfa sahip http://phpxmlclasses.sourceforge.net/ bu sayfayı yoktur$doc = new DOMDocument();
$doc->load('http://www.example.com/some.xml');
$xpd = new DOMXPath($doc);
false&&$node = new DOMElement();//this is for my IDE to have intellysense
$result = $xpd->query('//a/b');
foreach($result as $node){
echo $node->nodeName.'<br />';
}
:
ilgili bir PHP uygulaması Xquery Lite 1.0 dili, XML belgelerini sorgulamak için bir dil on Xquery 1.0 Bu sınıf DOM uzantısına dayanır ve dosyalar, php dizeleri veya kombinasyonlardaki XML belgeleri için Xquery Lite sorgularının yürütülmesine izin verir.
Hiç kullanmadım ve nasıl çalıştığını bilmiyorum.
bu link yardımcı olmalıdır: http://dl.dropbox.com/u/1487285/php/php.html paylaşılan barındırma senaryolar için
<?php
require_once 'Zorba/XQueryProcessor.php';
$xquery = new XQueryProcessor();
$query = <<<'XQ'
declare variable $world external;
<h1>Hello {$world}</h1>
XQ;
$xquery->importQuery($query);
$xquery->setVariable('world', 'World!');
echo $xquery->execute();
?>
, ben merkezli RESTful hizmetleri oluşturmak için olanak sağlar ki (http://www.28msec.com) 28msec gibi bir şey kullanmak önermek Zorba XQuery işlemcinin üstünde. PHP'den REST aracılığıyla 28msec'e bağlanabilirsiniz.
BaseX kullanın. Kararlı, ölçeklenebilir ve hızlı!
include("BaseXClient.php");
$session = new Session("localhost", 1984, "admin", "admin");
print $session->execute("xquery 1 to 10");
$session->close();
Dude (ama çalıştırmak için bir sunucuya ihtiyacınız)! Sadece basit bir sorgu yürütmek için derleme ?! Burada roket bilimi gibi görünüyor ... hiçbir şey daha basit değil mi? – abernier
[Bu paket artık PECL'de bulunmamaktadır] (http://www.pecl.php.net/packages.php?catpid=22&catname=XML) – Gordon