2010-02-06 15 views

cevap

-1

http://www.pecl.php.net/package/Zorba'a bir göz attınız mı?

+0

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

+1

[Bu paket artık PECL'de bulunmamaktadır] (http://www.pecl.php.net/packages.php?catpid=22&catname=XML) – Gordon

6

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); 
+0

Dominik ile aynı yorum (http://stackoverflow.com/questions/ 2211743/yürütmek-a-xquery-ile-php # comment-2163837). Gerçekten, hiçbir şey daha basit değil mi? – abernier

+0

[Bu paket artık PECL'de bulunmamaktadır] (http://www.pecl.php.net/packages.php?catpid=22&catname=XML) – Gordon

5

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.

+12

XPath, XQuery ile aynı değildir. – VolkerK

+3

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

+0

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

1

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 />'; 
} 
1

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(); 
?> 
1

, 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.

2

BaseX kullanın. Kararlı, ölçeklenebilir ve hızlı!

BaseX clients

include("BaseXClient.php"); 

$session = new Session("localhost", 1984, "admin", "admin"); 
print $session->execute("xquery 1 to 10"); 
$session->close(); 
İlgili konular