15 November 2016

XML DOM: Xóa node có product id = 2, save vào file question_5.xml

Question_5
Delete.java
Java XML 2016
package question_5;

import static controller.Document_DOM.getDocumentParse;
import static controller.SaveXML.saveXMLContent;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

/**
 *
 * @author Lonely
 */
public class Delete {

    public void delete(String id, String path) {
        Document d;
        try {
            d = getDocumentParse("src\\Data\\products.xml");
            NodeList nList = d.getElementsByTagName("product");

            for (int i = 0; i < nList.getLength(); i++) {
                Node nNode = nList.item(i);

                if (nNode.getNodeType() == Node.ELEMENT_NODE) {

                    //Find attribute
                    if (nNode.hasAttributes()) {

                        NamedNodeMap nMap = nNode.getAttributes();
                        for (int j = 0; j < nMap.getLength(); j++) {
                            Node node = nMap.item(j);
                            //Boolean attribute
                            if (node.getNodeValue().equalsIgnoreCase(id)) {
                                Element el = (Element) nList.item(i);
                                el.getParentNode().removeChild(el);
                            }
                        }
                    }
                }
            }
            //Write to file
            saveXMLContent(d, "src\\Data\\" + path);
            System.out.println("===QUESTION [5] Delete id thanh cong!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
Main.java
Java XML 2016
package run;

import question_1.CreateXML;
import question_2.ReadDOM;
import question_3.Add;
import question_4.Update;
import question_5.Delete;
/**
 *
 * @author Lonely
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        //1 Tạo file XML dùng DOM 
        CreateXML c = new CreateXML();
        c.create();

        //2 Đọc toàn bộ cấu trúc file XML (Hiển thị node gốc, các node con, value, attribute)
        ReadDOM r = new ReadDOM();
        r.Display();

        //3 Thêm một node có product id = 999, các thông tin khác (name, price, des, catalog) tùy chọn và save vào file question_3.xml
        Add s = new Add();
        s.Add("999", "question_3.xml");

        //4 Tìm kiếm node có product id = 1 và cập nhật giá (price) thêm 200
        Update u = new Update();
        u.update("1", 200, "question_4.xml");

        //5 Xóa node có product id = 2,  save vào file question_5.xml
        Delete d = new Delete();
        d.delete("1", "question_5.xml");
    }
}
Run test
question_5.xml

0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang