Nhanh chóng nhấn: Đọc InfoPath XML trực tiếp từ một SPListItem SharePoint

Tôi đang được làm việc trên một dự án mà tôi cần để trích xuất tập tin đính kèm từ một hình thức InfoPath. Có một số tài nguyên tốt cho phân tích InfoPath hình thức (đó là chỉ tập tin XML, Vì vậy, nó là thực sự khá dễ dàng).

Trong khi tôi xây dựng các dự án, Tôi bắt đầu bằng cách tải về một hình thức InfoPath và lưu nó vào ổ cứng của tôi địa phương. Mã c# của tôi đã đọc trực tiếp từ trường hợp mà. Tuy nhiên, Các hình thức InfoPath đang thực sự sống bên trong một thư viện mẫu đơn của SharePoint. Tôi đã làm một chút nửa hearted tìm kiếm để tìm hiểu làm thế nào để đọc nó trực tiếp từ thư viện và gần như đã bỏ, trong trường hợp đó tôi sẽ có lưu biểu mẫu vào một thư mục tạm địa phương và đọc nó từ đó. Tuy nhiên, không cần phải đi qua các hoops như bạn có thể đọc nó trực tiếp từ thư viện. Đoạn nhỏ này cho thấy làm thế nào:

/// Lớp học định nghĩa thứ ở đây, bao gồm:
tư nhân SPFile mySharePointFile; /* Một phần của một SPList */
// Thêm mã đi ở đây và bên trong một phương pháp của các lớp học hiện có:
XmlTextReader textReader;
textReader = mới XmlTextReader(mySharePointFile.OpenBinaryStream());

textReader.WhitespaceHandling = WhitespaceHandling.Không có;

textReader.Read();

// Nếu nút có giá trị

trong khi (textReader.Read())
{

... và vân vân và vân vân...

Bit chính họ trên là rằng chúng tôi có thể đọc InfoPath trực tiếp thông qua OpenBinaryStream() phương pháp kêu gọi SPFile như một tham số để các nhà xây dựng trên XmlTextReader. Nó hoạt động tốt.

</kết thúc>

Đăng ký vào blog của tôi.

Theo tôi trên Twitter lúc http://www.twitter.com/pagalvin

Technorati Tags:

Ai nghĩ về “Nhanh chóng nhấn: Đọc InfoPath XML trực tiếp từ một SPListItem SharePoint

  1. nesreen

    Chào bạn,
    Tôi cần giúp đỡ ở đây , Tôi có sharepoint 2007 Trang web và infopath bảng lặp lại , những gì tôi cần làm là sau khi biểu mẫu được lưu vào thư viện mẫu đơn sharepoint tôi cần phải lặp và lưu dữ liệu vào một danh sách bằng cách sử dụng xử lý sự kiện SP hình thức thư viện.

    Bất kỳ trợ giúp thực sự đánh giá cao.

    Cảm ơn

Để lại câu trả lời

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *