intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Lập trình XML với Java

Chia sẻ: Huongdanhoctot Huongdanhoctot | Ngày: | Loại File: PDF | Số trang:43

270
lượt xem
77
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'lập trình xml với java', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Lập trình XML với Java

  1. Lập trình XML với Java Trình bày: Ngô Bá Nam Phương
  2. Nội dung trình bày Xml Parsers Đọc nội dung tài liệu XML Tạo tài liệu XML XSLT
  3. XML Parser  Java hỗ trợ 2 loại xml parser:  Tree Parser - DOM Parser: phân tích nội dung tài liệu XML theo mô hình cây phân cấp  Streaming Parser - SAX Parser ( Simple API for XML ), StAX Parser: phát sinh các sự kiện trong quá trình duyệt tài liệu Xml
  4. DOM Parser  Ví dụ: Helvetica 36  Node font có 5 node con: whitespace name whitespace size whitespace
  5. DOM Parser
  6. SAX Parser  Phù hợp đối với các tài liệu có kích thước lớn và nội dung xử lý tương đối đơn giản.  Phát sinh các sự kiện tương ứng trong quá trình đọc tài liệu. Application sẽ tạo các event listener lắng nghe các event do parser phát ra để truy xuất nội dung tài liệu.  DOM Parser được xây dựng bên trên SAX Parser. DOM Parser xây dựng cây tài liệu DOM tree dựa trên các event nó nhận được do SAX Parser trả về.
  7. StAX Parser (Streaming API for XML )  Cung cấp mô hình xử lý đọc tài liệu XML đơn giản và thuận tiện hơn SAX parser  Application sẽ gọi các hàm của parser về các sự kiện cần quan tâm để truy xuất nội dung tài liệu
  8. Nội dung trình bày Xml Parsers Đọc nội dung tài liệu XML Tạo tài liệu XML XSLT
  9. Đọc tài liệu XML DOM Parser XPath Expression StAX Parser
  10. DOM Parser  import javax.xml.parsers.*;  import org.w3c.dom.*; DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(new File("Sach.xml"));
  11. DOM Parser // truy cập node gốc của tài liệu Element root = doc.getDocumentElement(); // lấy về danh sách node con của một node NodeList list = root.getChildNodes(); for(int i=0;i
  12. DOM Parser // Xử lý các node con dạng Element NodeList list = root.getChildNodes(); for(int i=0;i
  13. DOM Parser  Rút trích nội dung trong node name và size: Element element = (Element)node; // đang truy cập tại node name và size Text textNode = (Text)element.getFirstChild(); String content = textNode.getData(); if(element.getTagName().equals(“name”)) name = content; else if(element.getTagName().equals(“size”)) size = Integer.parseInt(content);
  14. DOM Parser  Cách khác để duyệt và xử lý trên danh sách các node con của 1 node for(Node childNode = element.getFirstChild(); childNode != null; childNode = childNode.getNextSibling() ) { … }
  15. DOM Parser  Lấy danh sách attributes của 1 node: getAttributes : trả về NamedNodeMap đại diện cho danh sách các attribute của node NamedNodeMap attributes = element.getAttributes(); for(int i=0;i
  16. DOM Parser  Lấy giá trị thuộc tính thông qua tên thuộc tính  Ví dụ: String maSach = element.getAttribute(“MaSach”); String tenSach = element.getAttribute(“TenSach”);
  17. Đọc tài liệu XML DOM Parser XPath Expression StAX Parser
  18. XPath  Là các biểu thức đường dẫn cho phép truy cập đến các node trong cây tài liệu dễ dàng mà không cần phải duyệt và tìm kiếm trên toàn bộ cây tài liệu.  Khởi tạo đối tượng XPath: import javax.xml.xpath.*; XPathFactory xpFactory = XPathFactory.newInstance(); XPath path = xpFactory.newXPath();
  19. XPath  Lấy giá trị của 1 element hoặc 1 attribute trong tài liệu: Ví dụ: 123 C# int id = Integer.parseInt(path.evaluate(“/EbookList/Ebook[1]/ID”,doc)); String title = path.evaluate(“/EbookList/Ebook[1]/Title”,doc); id = Integer.parseInt(path.evaluate(“/EbookList/Ebook[2]/@ID”,doc)); title = path.evaluate(“/EbookList/Ebook[2]/@Title”,doc);
  20. XPath  Lấy về danh sách các Node NodeList list = (NodeList)path.evaluate(“/EbookList/Ebook”, doc, XPathContants.NODESET);  Lấy về 1 node Node node = (Node)path.evaluate(“/EbookList/Ebook[1]”, doc, XPathContants.NODE);  Lấy về kết quả là giá trị của một hàm int count = ((Number)path.evaluate("count(/EbookList/Ebook)", doc,XPathConstants.NUMBER)).intValue();
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2