Ana içeriğe geç

QueryXml

Depoda bir XQuery çalıştırır ve sonuçları XML düğümleri dizisi olarak döndürür.

1
$XmlRepository.QueryXml(xquery: string, parameters?: object, collection?: string):Array<Xml>

Parametreler

string xquery
    Veritabanında çalıştırılacak XQuery ifadesi. Sorgu söz dizimi ayrıntılı olarak açıklanmıştır. Daha fazla bilgi için şu sayfaya bakın: XQuery standardı sayfası.

object parameters optional
    XQuery ifadesine bağlanacak parametreleri içeren bir nesne.

string collection optional
    Sorgulanacak koleksiyonun adı. Belirtilmezse alanadı veritabanı sorgulanır.

Döndürür

Şunlardan oluşan bir dizi: Xml XQuery sonuçlarını temsil eden düğümler. Sorgu sonuç döndürmezse boş bir dizi döndürür.

Notlar

Alanadı ve süreç veritabanları hakkında daha fazla bilgi için XML+Database konusuna bakın.

Tüm müşteri düğümlerini XML olarak sorgulama

1
2
var results = $XmlRepository.QueryXml('//Customer');
$Xml.InnerXml('Customer', results[0].OuterXml());

Kimliğe göre müşteri düğümü sorgulama

1
2
3
4
var results = $XmlRepository.QueryXml('//Customer[Id=$id]', {
   id : $Xml.Evaluate('CustomerId')
 });
$Xml.InnerXml('Customers', results.map(function (node) { return node.OuterXml(); }).join(''));

Info

Süreç veritabanını sorgulamak için collection anahtar sözcüğünü kullanın ve veritabanının GUID değerini belirtin.

Süreç veritabanlarında GUID değerini şu yöntemle alabilirsiniz: $Instance.ProcessId.

Süreç veritabanı koleksiyonundan XML sorgulama

1
2
3
4
var results = $XmlRepository.QueryXml('collection("49551ed3-6229-408a-aaaa-eb510463acad")//Customer[Id=$id]', {
id : $Xml.Evaluate('CustomerId')
});
$Xml.InnerXml('Customers', results[0].OuterXml());

Ayrıca bkz.