2010-09-09 12 views
6

Tôi muốn di chuyển một dự án (mã cũ mà tôi không quen thuộc) từ Xerces-C v2.x sang v3.x.Xerces-C: Di chuyển từ phiên bản v2.x sang v3.x?

Hóa ra Xerces-C v3 đã loại bỏ lớp DOMBuilder. Các migration archive nói với tôi điều này:

... một số giao diện DOM (DOMBuilder, DOMWriter, DOMInputSource, vv) được thay thế như một phần của DOM Level 3 công việc đặc điểm kỹ thuật phù hợp thức.

Thật tuyệt. Nhưng có bất kỳ hướng dẫn nào về cách di chuyển mã dựa trên các lớp này sang API mới không?

Trả lời

10

Thay thế cho API gỡ bỏ:

  • Sử dụng XercesDOMParser hoặc DOMLSParser thay vì DOMBuilder (more info):

    xercesDOMParser-> setCreateCommentNodes (true);

  • Sử dụng DOMLSSerializer thay vì DOMWriter:

    DOMLSSerializer * nhà văn = ((DOMImplementationLS *) impl) -> createLSSerializer(); DOMConfiguration * dc = writer-> getDomConfig(); dc-> setParameter (XMLUni :: fgDOMErrorHandler, errorHandler); dc-> setParameter (XMLUni :: fgDOMWRTDiscardDefaultContent, true);

  • Sử dụng DOMLSInput thay vì DOMInputSource.

Xem thêm:

+1

Một ví dụ minh họa làm thế nào để chuyển đổi 'DOMWriter' cho 'DOMLSSerializer' có thể được tìm thấy ở đây: http: // trac .osgeo.org/mapguide/ticket/1399 –