½âÎöXML¼¼Êõ
ÔÚ¿ª·¢ÏµÍ³Ê±£¬ÎÒÃǾ³£»áʹÓõ½xmlÃèÊöµÄÎļþ£¬ÎÒÃÇ»ù±¾²ÉÓÃÈçϼ¸ÖÖ·½Ê½½øÐнâÎö£º
1dom
DOM ÊÇÓÃÓëƽ̨ºÍÓïÑÔÎ޹صķ½Ê½±íʾ XML ÎĵµµÄ¹Ù·½ W3C ±ê×¼¡£DOM ÊÇÒÔ²ã´Î½á¹¹×éÖ¯µÄ½Úµã»òÐÅϢƬ¶ÏµÄ¼¯ºÏ¡£Õâ¸ö²ã´Î½á¹¹ÔÊÐí¿ª·¢ÈËÔ±ÔÚÊ÷ÖÐÑ°ÕÒÌض¨ÐÅÏ¢¡£·ÖÎö¸Ã½á¹¹Í¨³£ÐèÒª¼ÓÔØÕû¸öÎĵµºÍ¹¹Ôì²ã´Î½á¹¹£¬È»ºó²ÅÄÜ×öÈκι¤×÷¡£ÓÉÓÚËüÊÇ»ùÓÚÐÅÏ¢²ã´ÎµÄ£¬Òò¶ø DOM ±»ÈÏΪÊÇ»ùÓÚÊ÷»ò»ùÓÚ¶ÔÏóµÄ¡£DOM ÒÔ¼°¹ãÒåµÄ»ùÓÚÊ÷µÄ´¦Àí¾ßÓм¸¸öÓŵ㡣Ê×ÏÈ£¬ÓÉÓÚÊ÷ÔÚÄÚ´æÖÐÊdz־õģ¬Òò´Ë¿ÉÒÔÐÞ¸ÄËüÒÔ±ãÓ¦ÓóÌÐòÄܶÔÊý¾ÝºÍ½á¹¹×÷³ö¸ü¸Ä¡£Ëü»¹¿ÉÒÔÔÚÈκÎʱºòÔÚÊ÷ÖÐÉÏϵ¼º½£¬¶ø²»ÊÇÏñ SAX ÄÇÑùÊÇÒ»´ÎÐԵĴ¦Àí¡£DOM ʹÓÃÆðÀ´Ò²Òª¼òµ¥µÃ¶à¡£
¡¡¡¡ÁíÒ»·½Ã棬¶ÔÓÚÌرð´óµÄÎĵµ£¬½âÎöºÍ¼ÓÔØÕû¸öÎĵµ¿ÉÄܺÜÂýÇҺܺÄ×ÊÔ´£¬Òò´ËʹÓÃÆäËûÊÖ¶ÎÀ´´¦ÀíÕâÑùµÄÊý¾Ý»á¸üºÃ¡£ÕâЩ»ùÓÚʼþµÄÄ£ÐÍ£¬±ÈÈç SAX¡£
¡¡¡¡BeanÎļþ£º
¡¡¡¡package com.test;
¡¡¡¡import java.io.*;
¡¡¡¡import java.util.*;
¡¡¡¡import org.w3c.dom.*;
¡¡¡¡import javax.xml.parsers.*;
¡¡¡¡public class MyXMLReader{
¡¡¡¡public static void main(String arge[]){
¡¡¡¡long lasting =System.currentTimeMillis();
¡¡¡¡try{
¡¡¡¡¡¡File f=new File("data_10k.xml");
¡¡¡¡¡¡DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
¡¡¡¡¡¡DocumentBuilder builder=factory.newDocumentBuilder();
¡¡¡¡¡¡Document doc = builder.parse(f);
¡¡¡¡¡¡NodeList nl = doc.getElementsByTagName("VALUE");
¡¡¡¡¡¡for (int i=0;i£¼nl.getLength();i++){
¡¡¡¡¡¡¡¡System.out.print("³µÅƺÅÂë:" + doc.getElementsByTagName("NO").item(i).getFirstChild().getNodeValue());
¡¡¡¡¡¡¡¡System.out.println(" ³µÖ÷µØÖ·:" + doc.getElementsByTagName("ADDR").item(i).getFirstChild().getNodeValue());
¡¡¡¡}
¡¡¡¡}catch(Exception e){
¡¡¡¡¡¡e.printStackTrace();
¡¡¡¡}
¡¡¡¡System.out.println("ÔËÐÐʱ¼ä£º"+(System.currentTimeMillis() - lasting)+" ºÁÃë");
¡¡¡¡}
¡¡¡¡}
¡¡¡¡10kÏûºÄʱ¼ä£º265 203 219 172
¡¡¡¡100kÏûºÄʱ¼ä£º9172 9016 8891 9000
¡¡¡¡1000kÏûºÄʱ¼ä£º691719 675407 708375 739656
¡¡¡¡10000kÏûºÄʱ¼ä£ºOutOfMemoryError
2.SAX
DOM ²ÉÓý¨Á¢Ê÷ÐνṹµÄ·½Ê½·ÃÎÊ
Ïà¹ØÎĵµ£º
¡¡ÔÚSQL ServerÊý¾Ý¿âÖУ¬µ±ÄãÏëʹÓÃÒ»¸öÊý¾Ý£¬¶øÕâ¸öÊý¾Ý²»±£´æÔÚ±íÖУ¬¼ÆËãÁкÜÓÐÓá£ÀýÈ磬ÄãÓÐÒ»ÕÅ±í£¬Ëü°üÀ¨ÁÐdollar amounts, wholesale pricesºÍretail prices¡£Äã¿Ï¶¨²»ÏëÔÚÿ´Î²éѯ±íʱÀ´¼ÆËãÄÇÁ½ÁÐÖ®¼äµÄ²îÖµ£¬ÄãÏ£Íû½«ÆäÖµ±£´æÔÚµÚÈýÁÐÖУ¬ÈÃÆä×Ô¶¯¼ÆËãÇ°Á½ÁÐÖ®¼äµÄ²îÖµ¡£¶ø´ËÁоÍÊǼÆËãÁС£
¡¡¡¡ÔÚSQL ServerÖ ......
XMLµÄ²éÕÒ
#include <stdio.h>
#include <iostream>
#import <msxml4.dll>
#include <string>
using namespace std;
void Travel(MSXML2::IXMLDOMNodePtr pDOMNode)
{
if (pDOMNode->GetnodeTypeString()==(_bstr_t)"element") // »ñÈ¡½ÚµãÀàÐÍ
{
printf("%s ......
/*
ÓÃPHPµÄDOM¿Ø¼þÀ´´´½¨XMLÊä³ö
ÉèÖÃÊä³öÄÚÈݵÄÀàÐÍΪxml
*/
header('Content-Type: text/xml;');
//´´½¨ÐµÄxmlÎļþ
$dom = new DOMDocument('1.0', 'utf-8');
//½¨Á¢<response>ÔªËØ
$response = $dom->createElement('response');
$dom->appendChild($response);
//½¨Á¢<books>ÔªËز¢½«Æä×÷ ......
XMLµÄ²úÉú?
XMLµÄÈ«³ÆÊÇExtensible Markup Language,Òâ˼ÊÇ¿ÉÀ©Õ¹µÄ±ê¼ÇÓïÑÔ£¬ËüÊDZê׼ͨÓñê¼ÇÓïÑÔ(Standard Generalized Markup Language, SGML)µÄÒ»¸ö×Ó¼¯¡£SGML¹¦Äܷdz£Ç¿´ó£¬ÊÇ¿ÉÒÔ¶¨Òå±ê¼ÇÓïÑÔµÄÔªÓïÑÔ¡£
W3C×éÖ¯ÓÚ2004Äê2ÔÂ4ÈÕ£¬·¢²¼ÁËXML1.1µÄÍƼö±ê×¼£¬ÕâÊÇ×îеÄXML°æ±¾£¬²»¹ýÄ¿Ç°´ó¶àÊýµÄÓ¦Óû¹ÊÇ»ùÓÚXML1.0µÄ ......
XmlDocument doc = new XmlDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "GB2312", null);
doc.AppendChild(dec);
//´´½¨Ò»¸ö¸ù½Úµã£¨Ò»¼¶£©
XmlElement root = doc.CreateElement("First");
doc.AppendChild(root);
//´´½¨½Úµã£ ......