Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > Java Programming > Java Forum > Java - Help needed in parsing XML from URL to a HashMap



 

Java - Help needed in parsing XML from URL to a HashMap

 



Topic : 099390



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์




อยากทราบแนวทางการ parsing XML ลง HashMap ครับ รบกวนช่วยหน่อย ครับ



Tag : Java, JAVA







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-08-21 10:14:55 By : Depper View : 1466 Reply : 9
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ตามนี้เลยครับ

Code (Java)
			ArrayList<HashMap<String, String>> myArrList = new ArrayList<HashMap<String, String>>();
			HashMap<String, String> map;

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

				if (nNode.getNodeType() == Node.ELEMENT_NODE) {
					Element ele = (Element) nNode;
					map = new HashMap<String, String>();
					map.put("ImageID", ele.getElementsByTagName("ImageID")
							.item(0).getTextContent());
					map.put("ItemID", ele.getElementsByTagName("ItemID")
							.item(0).getTextContent());
					map.put("ImagePath", ele.getElementsByTagName("ImagePath")
							.item(0).getTextContent());
					map.put("Link", ele.getElementsByTagName("Link").item(0)
							.getTextContent());
					myArrList.add(map);
				}
			}


Java XML Read / Parser







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-21 10:34:38 By : mr.win
 


 

No. 2



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณมากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-21 10:38:17 By : Depper
 

 

No. 3



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์


รบกวนสอบถามอีกทีครับ คือตัวอย่างมันเป็นการดึง xml ที่เป็น ไฟล์ มาจากเครื่อง แต่ถ้าผมดึง xml มาจาก Web ผมจะต้อง code ประมาณไหนอะครับ รบกวนอีกทีครับท่าน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-21 11:04:40 By : Depper
 


 

No. 4



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

จาก

Code (Java)
File strXML = new File("C:\\java\\myData.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbf.newDocumentBuilder();
Document doc = dBuilder.parse(strXML);


เปลี่ยนเป็น

Code (Java)
String url = "https://www.thaicreate.com/data.xml";
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new URL(url).openStream());

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-21 11:14:29 By : mr.win
 


 

No. 5



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

เอามาจาก Stackoverflow ต่อยอดได้ไม่ยาก

Code (Java)
mport java.io.IOException;
import java.net.URL;
import org.apache.xerces.parsers.DOMParser;

import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;

public class XMLParser {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        parseXml2("http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=nucleotide&id=224589801");
    }

    public static void parseXml2(String URL) {
        DOMParser parser = new DOMParser();

        try {
            parser.parse(new InputSource(new URL(URL).openStream()));
            Document doc = parser.getDocument();

            NodeList nodeList = doc.getElementsByTagName("Item");
            for (int i = 0; i < nodeList.getLength(); i++) {
                System.out.print("Item "+(i+1));
                Node n = nodeList.item(i);
                NamedNodeMap m = n.getAttributes();
                System.out.print(" Name: "+m.getNamedItem("Name").getTextContent());
                System.out.print(" Type: "+m.getNamedItem("Type").getTextContent());
                Node actualNode = n.getFirstChild();
                if (actualNode != null) {
                    System.out.println(" "+actualNode.getNodeValue());
                } else {
                    System.out.println(" ");                    
                }
            }

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-21 11:15:03 By : mr.win
 


 

No. 6



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณอีกครั้ง ครับผม :)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-21 15:26:37 By : Depper
 


 

No. 7



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-22 21:41:18 By : mr.win
 


 

No. 8



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์


รบกวนสอบถามอีกครั้งนะครับ คือถ้าผมเก็บ xml มาแล้วรอบนึง แล้วผมอยากเอาเปรียบเทียบกับ xml ที่ request มาอีกรอบนึง โดยการ check ว่า xml มันเปลี่ยนแปลงไหม ? ผมจะ code ยังไงอะ ประมาณว่าตรวจสอบ ว่ามี xml เก็บไว้แล้วหรือยังอะครับ มันใช้ map.containsKey ("...") // map.containsValue("....."); ของ hashmap หรือ การตรวจสอบของ ArrayList >> if (myArrList.contains("...")) {...} << สำหรับตัวอย่างข้างบนอะครับ ใช้ยังไงอะครับ งงมากเลยอะครับ ช่วยทีนะครับ


ประวัติการแก้ไข
2013-09-04 09:20:03
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-02 17:10:46 By : Depper
 


 

No. 9



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์


ตัวอย่างจาก code นี้อะครับ

https://www.thaicreate.com/java/java-arraylist-hashmap-hashtable.html


ประวัติการแก้ไข
2013-09-02 17:18:00
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-02 17:14:52 By : Depper
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : Java - Help needed in parsing XML from URL to a HashMap
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่