xml.sax.saxutils --- SAX Tiện ích¶
Source code: Lib/xml/sax/saxutils.py
Mô-đun xml.sax.saxutils chứa một số lớp và hàm thường hữu ích khi tạo các ứng dụng SAX, sử dụng trực tiếp hoặc dưới dạng lớp cơ sở.
- xml.sax.saxutils.escape(data, entities={})¶
Thoát
'&','<'và'>'trong một chuỗi dữ liệu.Bạn có thể thoát khỏi các chuỗi dữ liệu khác bằng cách chuyển một từ điển dưới dạng tham số entities tùy chọn. Tất cả các khóa và giá trị đều phải là chuỗi; mỗi khóa sẽ được thay thế bằng giá trị tương ứng của nó. Các ký tự
'&','<'và'>'luôn được thoát, ngay cả khi entities được cung cấp.Ghi chú
Hàm này chỉ nên được sử dụng để thoát các ký tự không thể sử dụng trực tiếp trong XML. Không sử dụng chức năng này làm chức năng dịch chuỗi chung.
- xml.sax.saxutils.unescape(data, entities={})¶
Unescape
'&','<'và'>'trong một chuỗi dữ liệu.Bạn có thể bỏ thoát các chuỗi dữ liệu khác bằng cách chuyển một từ điển dưới dạng tham số entities tùy chọn. Tất cả các khóa và giá trị đều phải là chuỗi; mỗi khóa sẽ được thay thế bằng giá trị tương ứng của nó.
'&','<'và'>'luôn không thoát, ngay cả khi entities được cung cấp.
- xml.sax.saxutils.quoteattr(data, entities={})¶
Tương tự như
escape(), nhưng cũng chuẩn bị data để sử dụng làm giá trị thuộc tính. Giá trị trả về là phiên bản được trích dẫn của data với mọi thay thế bắt buộc bổ sung.quoteattr()sẽ chọn ký tự trích dẫn dựa trên nội dung của data, cố gắng tránh mã hóa bất kỳ ký tự trích dẫn nào trong chuỗi. Nếu cả hai ký tự dấu ngoặc đơn và dấu ngoặc kép đều đã có trong data thì các ký tự dấu ngoặc kép sẽ được mã hóa và data sẽ được gói trong dấu ngoặc kép. Chuỗi kết quả có thể được sử dụng trực tiếp làm giá trị thuộc tính:>>> print("<element attr=%s>" % quoteattr("ab ' cd \" ef")) <element attr="ab ' cd " ef">
Hàm này hữu ích khi tạo các giá trị thuộc tính cho HTML hoặc bất kỳ SGML nào bằng cú pháp tham chiếu cụ thể.
- class xml.sax.saxutils.XMLGenerator(out=None, encoding='iso-8859-1', short_empty_elements=False)¶
Lớp này triển khai giao diện
ContentHandlerbằng cách ghi lại các sự kiện SAX vào tài liệu XML. Nói cách khác, sử dụngXMLGeneratorlàm trình xử lý nội dung sẽ tái tạo tài liệu gốc đang được phân tích cú pháp. out phải là một đối tượng giống như tệp sẽ mặc định là sys.stdout. encoding là mã hóa luồng đầu ra mặc định là'iso-8859-1'. short_empty_elements kiểm soát định dạng của các phần tử không chứa nội dung: nếuFalse(mặc định) chúng được phát ra dưới dạng một cặp thẻ bắt đầu/kết thúc, nếu được đặt thànhTruethì chúng được phát ra dưới dạng một thẻ tự đóng duy nhất.Thay đổi trong phiên bản 3.2: Đã thêm tham số short_empty_elements.
- class xml.sax.saxutils.XMLFilterBase(base)¶
Lớp này được thiết kế để nằm giữa
XMLReadervà trình xử lý sự kiện của ứng dụng khách. Theo mặc định, nó không làm gì khác ngoài việc chuyển các yêu cầu đến trình đọc và các sự kiện đến các trình xử lý chưa được sửa đổi, nhưng các lớp con có thể ghi đè các phương thức cụ thể để sửa đổi luồng sự kiện hoặc các yêu cầu cấu hình khi chúng đi qua.
- xml.sax.saxutils.prepare_input_source(source, base='')¶
Hàm này lấy nguồn đầu vào và cơ sở URL tùy chọn rồi trả về một đối tượng
InputSourceđã được phân giải đầy đủ sẵn sàng để đọc. Nguồn đầu vào có thể được cung cấp dưới dạng một chuỗi, một đối tượng giống như tệp hoặc một đối tượngInputSource; các trình phân tích cú pháp sẽ sử dụng hàm này để triển khai đối số source đa hình cho phương thứcparse()của chúng.