Έκανα κάποια έρευνα για κάποιον σήμερα γύρω από την υπηρεσία web list.asmx παρέχεται ως μέρος του SharePoint 2010 (και παλιότερες). Ήταν σε θέση να πάρετε τα στοιχεία λίστας στο φάκελο ρίζας (καθώς και τα ονόματα των υποφακέλων), αλλά δεν ήταν δυνατή η λήψη στοιχείων σε υποφακέλους. Έκανα κάποια ρίχνοντας μια ματιά για το Ίντερνετ και είναι μια εκπληκτικά κοινή ερώτηση. Ακόμη, Θα μπορούσα να πάρετε μια καλή απάντηση στο απλό ερώτημα, "αν γνωρίζω το φάκελο, Πώς μπορώ να πάρω τα στοιχεία στο φάκελο?” Για να είμαι ειλικρινής, Εγώ δεν προσπαθώ τόσο σκληρά, δεδομένου ότι έχω ήθελε να το καταλάβουμε αυτό μία έξω από μόνος μου για μια στιγμή .
Να ορίσετε το χρόνο αυτό, Δημιούργησα μια τοποθεσία που ονομάζεται «Blogging σενάρια» και μια προσαρμοσμένη λίστα όνομα "Προσαρμοσμένη λίστα με υπο-φάκελλοι". Δημιούργησα στη συνέχεια φακέλους με το όνομα:
- Έτος 2005
- Έτος 2006
- Έτος 2007
Πρόσθεσα μερικά στοιχεία στο φάκελο «Έτους 2006». Αυτό είναι τι μοιάζει:
Ο φίλος μου δεν είναι σύνταξη κώδικα C# αλλά μάλλον χρήση της Java, έτσι το φάκελο SOAP ήταν ό, τι είναι πραγματικά αναγκαία. Για να το επιτύχουμε, Μου έγραψε λίγο jQuery και στη συνέχεια χρησιμοποιείται fiddler για να λάβετε την πραγματική συνομιλία HTTP.
Εδώ είναι το σχετικό jQuery (Αντέγραψα κώδικα κάτω κάτω αν θέλετε για την αντιγραφή/επικόλληση):
Τους πρώτο κλειδί είναι να περιλαμβάνουν τόσο έναν <queryOptions> και <QueryOptions> Κόμβος. Το δεύτερο κλειδί είναι ότι η <Φάκελος> ο κόμβος είναι μια διεύθυνση URL, όπου ο υπολογιστής-πελάτης έχει πρόσβαση.
Μπορεί να υπάρχουν άλλοι τρόποι να ολοκληρώσουμε αυτό το, αλλά αυτή λειτούργησε καλά για μένα όταν χρησιμοποιώντας jQuery.
Εδώ είναι το φάκελο SOAP για τα ανωτέρω:
<soapenv:Φάκελος xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’>
<soapenv:Οργανισμός>
<GetListItems xmlns =’http://schemas.microsoft.com/SharePoint/SOAP/’>
<listName>Προσαρμοσμένη λίστα με φακέλους Sub</listName>
<viewFields>
<ViewFields>
<FieldRef όνομα =' Τίτλος’ />
<FieldRef όνομα ='EncodedAbsUrl’ />
</ViewFields>
</viewFields>
<queryOptions>
<QueryOptions>
<Φάκελος>http://demoserver1/Blogging Σενάρια/κατάλογοι/προσαρμοσμένη λίστα με Sub φακέλων/έτος 2006</Φάκελος>
</QueryOptions>
</queryOptions>
</GetListItems>
</soapenv:Οργανισμός>
</soapenv:Φάκελος>
Πολλά παραδείγματα και συζητήσεις γύρω από αυτό με ώθησε να πιστεύουν ότι ήταν όλα τα χρειάζομαι <QueryOptions> και καθορίστε ένα όνομα φακέλου. Για μένα, Μου χρειάζεται τόσο αναδιπλώνονται μέσα <queryOptions> καθώς και να καθορίσετε ένα έγκυρο URL για το <Φάκελος> Κόμβος.
Εδώ είναι το jQuery AJAX εγκατάστασης:
$(έγγραφο).έτοιμο(συνάρτηση() {
var soapEnv =
"<soapenv:Φάκελος xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’> \
<soapenv:Οργανισμός> \
<GetListItems xmlns =’http://schemas.microsoft.com/SharePoint/SOAP/’> \
<listName>Προσαρμοσμένη λίστα με φακέλους Sub</listName> \
<viewFields> \
<ViewFields> \
<FieldRef όνομα =' Τίτλος’ /> \
<FieldRef όνομα ='EncodedAbsUrl’ /> \
</ViewFields> \
</viewFields> \
<queryOptions> \
<QueryOptions> \
<Φάκελος>http://demoserver1/Blogging Σενάρια/κατάλογοι/προσαρμοσμένη λίστα με Sub φακέλων/έτος 2006</Φάκελος> \
</QueryOptions> \
</queryOptions> \
</GetListItems> \
</soapenv:Οργανισμός> \
</soapenv:Φάκελος>";
</Τέλος>
Συνέχεια μου για Twitter σε http://www.twitter.com/pagalvin
Γεια σου
Προσπαθώ να εμφανίσετε τα έγγραφα κάτω από ένα συγκεκριμένο φάκελο χρησιμοποιώντας ένα ΕΕΠ 2010 DataSource GetListItems
Μόλις συνδεθείτε στην υπηρεσία μου web και εισαγάγετε το αναγνωριστικό guid για τη βιβλιοθήκη εγγράφων
Μπορώ να τροποποιήσετε το QueryOptions και να εισάγετε το ακόλουθο κομμάτι CAML
TrainingCompanyX συμμόρφωση.
Μόνο αυτό δεν επιστρέφει κανένα αποτέλεσμα – αφαίρεση η παράμετρος QueryOptions επιστρέφει όλα τα έγγραφα στη βιβλιοθήκη εγγράφων ρίζα….
Είμαι κοιτάζοντας μερικές περνώντας είδος Δες παράμετρος και περιλαμβάνουν το guid θέα.
Αυτό είναι μια πολύ παλιά θέση/σχόλιο έτσι συγνώμη για την απάντηση ποτέ. Υποθέτω ότι σας εδώ και καιρό από τότε να βρει τον τρόπο να προχωρήσει.
Καλό άρθρο! Ευχαριστώ.
Μπορείτε επίσης να χρησιμοποιήσετε την επιλογή όλα τα επαναλαμβανόμενα να διασχίσει αυτόματα κάτω από τη δομή των φακέλων (από το επίπεδο ρίζας).
Ok, μοιάζει ότι θα αφαιρεθεί από το xml… απλά αντικαταστήστε τα σύμβολα δίεσης κάτω από με διπλά εισαγωγικά.
#queryOptions #
#QueryOptions #
#ViewAttributes πεδίο εφαρμογής = «Όλα τα επαναλαμβανόμενα» / #
#/QueryOptions #
#/queryOptions #
Χάρη ένα μάτσο για αυτήν την ανάρτηση, Paul. Έχω προσπαθήσει να καταναλώνουν GetListItems μέσω ColdFusion cfhttp, και δεν θα μπορούσε να πάρει το φάκελο δεξιά. Τελικά συνάντησα τυχαία αυτήν την θέση, και το παράδειγμά σας λειτούργησε άψογα. Ευχαριστώ και πάλι.
BTW – ξέρετε ενός πόρου που απαριθμεί όλους τους φακέλους σωστή σαπούνι? Το ένα για GetList στοιχεία δημοσιεύονται στο microsoft.com δεν ταιριάζει σας είστε εδώ…