ฉันได้ทำงานวิจัยบางบุคคลวันนี้รอบบริการเว็บ list.asmx ให้เป็นส่วนหนึ่งของ SharePoint 2010 (และรุ่นก่อนหน้า). เธอได้รับในรายการที่โฟลเดอร์ราก (รวมทั้งชื่อของ sub-folders), แต่ไม่ได้รับสินค้าใน sub-folders ไม่บางอย่างรอบคอบในการ internets และคำถามทั่วไปอย่างแปลกใจ ยัง, ฉันไม่สามารถได้รับคำตอบสำหรับคำถามที่วิดี, "ถ้ารู้ว่าโฟลเดอร์, ฉันรับสินค้าในโฟลเดอร์?” จะซื่อสัตย์, ไม่ได้พยายามทั้งหมดที่หนักเนื่องจากผมได้ต้องการรูปหนึ่งนี้ออกด้วยตัวเองสำหรับในขณะ .
การตั้งค่านี้, ไซต์มีชื่อว่า "สถานการณ์ของบล็อก" และรายการแบบกำหนดเองที่ชื่อว่า "กำหนดเองรายการกับโฟลเดอร์ย่อย" สร้าง สร้างโฟลเดอร์ชื่อแล้ว:
- ปี 2005
- ปี 2006
- ปี 2007
เพิ่มเพียงไม่กี่รายการไปที่โฟลเดอร์ "ปี 2549" นี่คือสิ่งที่มีลักษณะเหมือน:
เพื่อนของฉันไม่ได้เขียน C# โค้ด แต่แทนที่จะ ใช้ Java, ดังนั้น ละครซองจดหมายถูกอะไรเธอจริง ๆ ต้อง รับที่, ฉันเขียนบิตของ jQuery และใช้ fiddler รับสนทนา HTTP ที่แท้จริงแล้ว.
นี่คือ jQuery เกี่ยวข้อง (คัดลอกรหัสลงด้านล่างหากคุณต้องการคัดลอก/วาง):
พวกเขาแรกคีย์คือการ รวมทั้งสองแบบ <queryOptions> และ <QueryOptions> โหนด ปุ่มที่สองคือที่ <โฟลเดอร์> โหนดคือ URL ที่ไคลเอ็นต์เข้า.
อาจจะมีวิธีอื่น ๆ ที่ได้รับนี้, แต่นี้ทำงานได้ดีสำหรับฉันเมื่อใช้ jQuery.
นี่คือละครซองจดหมายสำหรับด้านบน:
<soapenv:Xmlns ซองจดหมาย:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’>
<soapenv:เนื้อความ>
<GetListItems xmlns =’http://schemas.microsoft.com/sharepoint/soap/’>
<listName>รายการที่กำหนดเองกับโฟลเดอร์ย่อย</listName>
<viewFields>
<ViewFields>
<ชื่อ FieldRef =' ชื่อเรื่อง’ />
<ชื่อ FieldRef ='EncodedAbsUrl’ />
</ViewFields>
</viewFields>
<queryOptions>
<QueryOptions>
<โฟลเดอร์>http://demoserver1/บล็อก รายการสถานการณ์/รายการ/กำหนดเองกับ Sub โฟลเดอร์/ปี 2549</โฟลเดอร์>
</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>รายการที่กำหนดเองกับโฟลเดอร์ย่อย</listName> \
<viewFields> \
<ViewFields> \
<ชื่อ FieldRef =' ชื่อเรื่อง’ /> \
<ชื่อ FieldRef ='EncodedAbsUrl’ /> \
</ViewFields> \
</viewFields> \
<queryOptions> \
<QueryOptions> \
<โฟลเดอร์>http://demoserver1/Blogging รายการสถานการณ์/รายการ/กำหนดเองกับ Sub โฟลเดอร์/ปี 2549</โฟลเดอร์> \
</QueryOptions> \
</queryOptions> \
</GetListItems> \
</soapenv:เนื้อความ> \
</soapenv:ซองจดหมาย>";
</สิ้นสุด>
ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin
สวัสดี
ฉันพยายามที่จะแสดงเอกสารภายใต้โฟลเดอร์เฉพาะที่ใช้กับ SPD 2010 GetListItems แหล่งข้อมูล
เมื่อฉันเชื่อมต่อกับบริการเว็บของฉัน และระบุ guid สำหรับไลบรารีเอกสาร
ฉันสามารถปรับเปลี่ยนการ QueryOptions และป้อนชิ้นส่วนต่อไปนี้ของ CAML
TrainingCompanyX ปฏิบัติตามกฎระเบียบ.
เพียงเท่านี้ไม่ส่งกลับผลลัพธ์ใด ๆ – เอาพารามิเตอร์ QueryOptions คืนเอกสารทั้งหมดในไลบรารีเอกสารหลัก….
ฉันฉันมองผ่านบางจัดเรียงของดูพารามิเตอร์ และรวมดู guid.
นี่คือเก่ามากลง/ข้อคิดเห็นดังนั้นขอไม่ตอบกลับ. ผมถือว่า คุณลองคิดหาวิธีการดำเนินการตั้งแต่.
บทความที่ดี! ขอขอบคุณ.
นอกจากนี้คุณยังสามารถใช้ตัวเลือก RecursiveAll ในการข้ามลงโครงสร้างของโฟลเดอร์โดยอัตโนมัติ (จากระดับราก).
ตกลง, ได้, ดูเหมือนมันปล้นออก xml… เพียงแค่เปลี่ยนเครื่องหมายปอนด์ด้านล่างกับก้างปลา.
#queryOptions #
#QueryOptions #
#ขอบเขต ViewAttributes = 'RecursiveAll' / #
#/QueryOptions #
#/queryOptions #
ขอบคุณมากสำหรับบทความนี้, พอล. ฉันได้พยายามใช้ GetListItems ผ่าน ColdFusion cfhttp, และไม่ได้รับซองจดหมายถูกต้อง. ในที่สุดมาในกระทู้นี้, และการทำงานของคุณอย่างไม่มีที่ติ. ขอขอบคุณอีกครั้ง.
BTW – คุณรู้ของทรัพยากรที่ซองสบู่ที่เหมาะสมทั้งหมด? หนึ่งสำหรับสินค้า GetList ที่เผยแพร่บน microsoft.com ไม่ตรงกับคุณอยู่ที่นี่…