¿ÉÄÜÄúÒѾÌý˵ÁË£¬±¾ÖÜÊÇ Microsoft ÊÂÒµ²¿ºÜ¹Ø¼üµÄÒ»ÖÜ¡£ÔÚ±¾ÖÜÔçЩʱºò£¬ÎÒÃÇÐû²¼½«¹«¿ª·¢ÐÐ Microsoft Office 2010 Beta¡£ÄúÊÇ·ñÔøÏ£ÍûÓëÍŶÓÒ»ÆðÔÚ Word Öй²Í¬´´×÷Ò»·ÝÎĵµ£¿ÄúÊÇ·ñÔøÏ£ÍûÔÚ Excel ÖÐͬʱ·ÖÎö³É¶ÑµÄÊý¾Ý£¿»òÕßÔÚ PowerPoint ÑÝʾÎĸåÖÐÍ»ÆƶàýÌåµÄÏÞÖÆ£¿ÄÇô£¬¸Ï¿ìÊÔÊÔ Beta °æ±¾°É¡£
¶ÔÓÚ±ê×¼ÉçÇø£¬ÓÈÆäÊǶÔÓÚÎÒÃǵ±ÖдÓÊÂÎĵµ¸ñʽ¹¤×÷µÄ³ÉÔ±£¬±¾ÖÜÒ²ÊǹؼüµÄÒ»ÖÜ¡£±¾ÖÜÕýÖµ ISO/IEC 29500 ¸ñʽ£¨Ò²³Æ Open XML£©Ê״η¢²¼Ò»ÖÜÄêÖ®¼Ê¡£ÒòΪ¿ç Office µÄÇý¶¯³ÌÐò¸ºÔðÖ§³Ö Office 2010 ÖÐµÄ Open XML£¬ËùÒÔÎÒÏëÏÖÔÚÊÇÒ»¸öºÃ»ú»á£¬ÓÉÎÒÀ´ÏòÄúɹɹΪ֧³Ö Open XML ±ê×¼ÎÒÃÇÔÚ Office 2010 ÖÐËù×öµÄ¹¤×÷£¬Í¬Ê±·ÖÎöÒ»ÏÂÌá¸ß»¥²Ù×÷ÐÔÓëÎÒÃÇµÄ Office ´´ÐÂÄÜÁ¦ÈçºÎÃÜÇÐÏà¹Ø¡£
Office 2010 ÖÐµÄ Open XML Ö§³Ö
ÔÚÎĵµ¸ñʽ·½Ã棬ÿ¸öÈ˶¼ÔÚ˼¿¼Ò»¸öÖØ´óÎÊÌ⣬ÄǾÍÊÇ Office 2010 ½«Îª Open XML ÌṩºÎÖ̶ֳȵÄÖ§³Ö¡£ÔÚ´ËÎҷdz£¸ßÐ˵ØÐû²¼£¬Office 2010 ½«Ä¬ÈÏÉú³É·ûºÏ ISO/IEC 29500 ±ê×¼µÄ¹ý¶ÉÐÍÒ»ÖÂÀàÎļþ¡£
Ϊʹ Office 2010 Éú³É·ûºÏ ISO/IEC 29500 ±ê×¼µÄÎļþ£¬µÚÒ»²½ÒªÆÀ¹ÀÎÒÃÇÔÚ Office 2007 ÖÐÉú³ÉµÄÎļþ¡£¸Ã²úÆ·»áÉú³É ECMA-376 µÚÒ»°æÎļþ£¬Äú´ó¸Å ......
//¶ÁÈ¡XMLÎļþ
//1¡¢LoadfromFile×°ÈëXMLÎļþ
//2¡¢Ö¸¶¨Â·¾¶£¬¼¤»î¶ÁÈ¡
//3¡¢´ÓÄÚ´æÁ÷¶ÁÈ¡
//4¡¢´ÓÍøÂçÉÏÖ±½Ó»ñÈ¡
//1¡¢LoadfromFile×°ÈëXMLÎļþ
procedure TForm1.Button1Click(Sender: TObject);
begin
XMLDocument1.LoadfromFile('c:\temp\test.xml');
// XMLDocument1.Active := True;
Memo1.Lines := XMLDocument1.XML;
end;
//2¡¢Ö¸¶¨Â·¾¶£¬¼¤»î¶ÁÈ¡
procedure TForm1.Button9Click(Sender: TObject);
begin
XMLDocument1.FileName := 'c:\temp\test.xml';
XMLDocument1.Active := True;
ShowMessage(FormatXMLData(XMLDocument1.XML.Text));
end;
//3¡¢´ÓÄÚ´æÁ÷¶ÁÈ¡
procedure TForm1.Button2Click(Sender: TObject);
var
ms: TMemoryStream;
begin
ms := TMemoryStream.Create;
ms.LoadfromFile('c:\temp\test.xml');
XMLDocument1.LoadfromStream(ms);
Memo1.Lines := XMLDocument1.XML;
ms.Free;
end;
//4¡¢´ÓÍøÂçÉÏÖ±½Ó»ñÈ¡
procedure TForm1.Button10Click(Sender: TObject);
begin
XMLDocument1.LoadfromFile('http://www.************8/*.xml');
ShowMessage(FormatXMLData(XMLDocument1.XML.Tex ......
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
public class MyTest {
Document doc = null;
public MyTest() throws DocumentException, IOException, SAXException {
Document doc = loadXML("class.xml"); // ÔØÈëXMLÎĵµ
System.out.println(doc.asXML());
printDoc(doc); // ´òÓ¡XMLÎĵµ
storeDoc(doc, "new.xml"); // °ÑXMLÎĵµ´æÈëÓ²ÅÌ
doc = ......
[ÕªÒª]¿ÉÀ©Õ¹±êÖ¾ÓïÑÔ£¨¼ò³ÆXML£©ÔÚʵÏÖÐÅÏ¢±ê×¼»¯¡¢ÐÅÏ¢µÄ½»Á÷Óë¹²ÏíÉÏÓÐÆä¶ÀÌصļ¼ÊõÓÅÊÆ£¬Òò´ËËüÊܵ½Á˹㷺µÄÖØÊÓ¡£È«ÎÄÊ×ÏÈÌá³öÁË»ùÓÚXMLµÄÈý²ãClient/ServerÄ£ÐÍ£»È»ºó¶ÔÆä´ÓÊý¾Ý»ñÈ¡¡¢´«ÊäÖÁÏÔʾÒÔ¼°Íⲿ´¦ÀíµÄÓ¦ÓýøÐзÖÎö£»½Ó×ÅÒÔͼÊé×ÊÁϹÜÀíϵͳΪÀý£¬ËµÃ÷ÁËÆä¾ßÌåµÄʵÏÖ£»×îºó¶Ô»ùÓÚXMLµÄÈý²ãC/SÄ£ÐÍÔÚÐÅÏ¢±ê×¼»¯¡¢Êý¾Ý´¦ÀíµÈ·½ÃæµÄÓ¦ÓÃÓÅÊƽøÐÐÁË×ܽᡣ
[¹Ø¼ü×Ö]XML¡¢Client/ServerÄ£ÐÍ¡¢Èý²ã½á¹¹Ä£ÐÍ.
1£®ÎÊÌâµÄÌá³ö
¿ÉÀ©Õ¹µÄ±ê¼ÇÓïÑÔ £¨Extensible Markup Language£¬ËõдΪXML£©ÊÇSGML (Standard Generalized Markup Language£¬±ê׼ͨÓñê¼ÇÓïÑÔ)µÄÒ»¸ö×Ó¼¯£¬ÊǼò»¯µÄSGML¡£ËüÊÇ»¥ÁªÍøÁªºÏ×éÖ¯(W3C)´´½¨Ò»×é¹æ·¶£¬ÒÔ±ãÓÚÈí¼þ¿ª·¢ÈËÔ±ºÍÄÚÈÝ´´×÷ÕßÔÚÍøÒ³ÉÏ×éÖ¯ÐÅÏ¢£¬ÆäÄ¿µÄ²»½öÔÚÓÚÂú×ã²»¶ÏÔö³¤µÄÍøÂçÓ¦ÓÃÐèÇ󣬶øÇÒÒ²ÔÚÓÚÈ·±£ÔÚͨ¹ýÍøÂç½øÐн»»¥ºÏ×÷ʱ£¬¾ßÓÐÁ¼ºÃµÄ¿É¿¿ÐÔÓ뻥²Ù×÷ÐÔ¡£
Ëæ×ÅWeb¼¼Êõ¡¢·Ö²¼Ê½¶ÔÏó¼¼ÊõÁ½ÕßµÄÓлú½áºÏ£¬´«Í³µÄClient/ServerÖ÷´Ó½á¹¹Öð½¥ÏòÁé»îµÄ¶à¼¶·Ö²¼Ê½Web¼ÆËãÄ£ÐͽøÐÐ×ÅÑݱ䡣¶à¼¶·Ö²¼Ê½WebÌåϵ½á¹¹¿É»®·ÖΪÈý²ã£º±íʾ²ã(¿Í»§»ú²ã)¡¢¹¦Äܲã(Ó¦Ó÷þÎñÆ÷²ã)¡¢Ê ......
[ÕªÒª]¿ÉÀ©Õ¹±êÖ¾ÓïÑÔ£¨¼ò³ÆXML£©ÔÚʵÏÖÐÅÏ¢±ê×¼»¯¡¢ÐÅÏ¢µÄ½»Á÷Óë¹²ÏíÉÏÓÐÆä¶ÀÌصļ¼ÊõÓÅÊÆ£¬Òò´ËËüÊܵ½Á˹㷺µÄÖØÊÓ¡£È«ÎÄÊ×ÏÈÌá³öÁË»ùÓÚXMLµÄÈý²ãClient/ServerÄ£ÐÍ£»È»ºó¶ÔÆä´ÓÊý¾Ý»ñÈ¡¡¢´«ÊäÖÁÏÔʾÒÔ¼°Íⲿ´¦ÀíµÄÓ¦ÓýøÐзÖÎö£»½Ó×ÅÒÔͼÊé×ÊÁϹÜÀíϵͳΪÀý£¬ËµÃ÷ÁËÆä¾ßÌåµÄʵÏÖ£»×îºó¶Ô»ùÓÚXMLµÄÈý²ãC/SÄ£ÐÍÔÚÐÅÏ¢±ê×¼»¯¡¢Êý¾Ý´¦ÀíµÈ·½ÃæµÄÓ¦ÓÃÓÅÊƽøÐÐÁË×ܽᡣ
[¹Ø¼ü×Ö]XML¡¢Client/ServerÄ£ÐÍ¡¢Èý²ã½á¹¹Ä£ÐÍ.
1£®ÎÊÌâµÄÌá³ö
¿ÉÀ©Õ¹µÄ±ê¼ÇÓïÑÔ £¨Extensible Markup Language£¬ËõдΪXML£©ÊÇSGML (Standard Generalized Markup Language£¬±ê׼ͨÓñê¼ÇÓïÑÔ)µÄÒ»¸ö×Ó¼¯£¬ÊǼò»¯µÄSGML¡£ËüÊÇ»¥ÁªÍøÁªºÏ×éÖ¯(W3C)´´½¨Ò»×é¹æ·¶£¬ÒÔ±ãÓÚÈí¼þ¿ª·¢ÈËÔ±ºÍÄÚÈÝ´´×÷ÕßÔÚÍøÒ³ÉÏ×éÖ¯ÐÅÏ¢£¬ÆäÄ¿µÄ²»½öÔÚÓÚÂú×ã²»¶ÏÔö³¤µÄÍøÂçÓ¦ÓÃÐèÇ󣬶øÇÒÒ²ÔÚÓÚÈ·±£ÔÚͨ¹ýÍøÂç½øÐн»»¥ºÏ×÷ʱ£¬¾ßÓÐÁ¼ºÃµÄ¿É¿¿ÐÔÓ뻥²Ù×÷ÐÔ¡£
Ëæ×ÅWeb¼¼Êõ¡¢·Ö²¼Ê½¶ÔÏó¼¼ÊõÁ½ÕßµÄÓлú½áºÏ£¬´«Í³µÄClient/ServerÖ÷´Ó½á¹¹Öð½¥ÏòÁé»îµÄ¶à¼¶·Ö²¼Ê½Web¼ÆËãÄ£ÐͽøÐÐ×ÅÑݱ䡣¶à¼¶·Ö²¼Ê½WebÌåϵ½á¹¹¿É»®·ÖΪÈý²ã£º±íʾ²ã(¿Í»§»ú²ã)¡¢¹¦Äܲã(Ó¦Ó÷þÎñÆ÷²ã)¡¢Ê ......
1£©DOM£¨JAXP Crimson½âÎöÆ÷£©
DOMÊÇÓÃÓëƽ̨ºÍÓïÑÔÎ޹صķ½Ê½±íʾXMLÎĵµµÄ¹Ù·½W3C±ê×¼¡£DOMÊÇÒÔ²ã´Î½á¹¹×éÖ¯µÄ½Úµã»òÐÅϢƬ¶ÏµÄ¼¯ºÏ¡£Õâ¸ö²ã´Î½á¹¹ÔÊÐí¿ª·¢ÈËÔ±ÔÚÊ÷ÖÐÑ°ÕÒÌض¨ÐÅÏ¢¡£·ÖÎö¸Ã½á¹¹Í¨³£ÐèÒª¼ÓÔØÕû¸öÎĵµºÍ¹¹Ôì²ã´Î½á¹¹£¬È»ºó²ÅÄÜ×öÈκι¤×÷¡£ÓÉÓÚËüÊÇ»ùÓÚÐÅÏ¢²ã´ÎµÄ£¬Òò¶øDOM±»ÈÏΪÊÇ»ùÓÚÊ÷»ò»ùÓÚ¶ÔÏóµÄ¡£DOM ÒÔ¼°¹ãÒåµÄ»ùÓÚÊ÷µÄ´¦Àí¾ßÓм¸¸öÓŵ㡣Ê×ÏÈ£¬ÓÉÓÚÊ÷ÔÚÄÚ´æÖÐÊdz־õģ¬Òò´Ë¿ÉÒÔÐÞ¸ÄËüÒÔ±ãÓ¦ÓóÌÐòÄܶÔÊý¾ÝºÍ½á¹¹×÷³ö¸ü¸Ä¡£Ëü»¹¿ÉÒÔÔÚÈκÎʱºòÔÚÊ÷ÖÐÉÏϵ¼º½£¬¶ø²»ÊÇÏñSAXÄÇÑùÊÇÒ»´ÎÐԵĴ¦Àí¡£DOMʹÓÃÆðÀ´Ò²Òª¼òµ¥µÃ¶à¡£
2£©SAX
SAX´¦ÀíµÄÓŵã·Ç³£ÀàËÆÓÚÁ÷ýÌåµÄÓŵ㡣·ÖÎöÄܹ»Á¢¼´¿ªÊ¼£¬¶ø²»ÊǵȴýËùÓеÄÊý¾Ý±»´¦Àí¡£¶øÇÒ£¬ÓÉÓÚÓ¦ÓóÌÐòÖ»ÊÇÔÚ¶ÁÈ¡Êý¾Ýʱ¼ì²éÊý¾Ý£¬Òò´Ë²»ÐèÒª½«Êý¾Ý´æ´¢ÔÚÄÚ´æÖС£Õâ¶ÔÓÚ´óÐÍÎĵµÀ´ËµÊǸö¾Þ´óµÄÓŵ㡣ÊÂʵÉÏ£¬Ó¦ÓóÌÐòÉõÖÁ²»±Ø½âÎöÕû¸öÎĵµ£»Ëü¿ÉÒÔÔÚij¸öÌõ¼þµÃµ½Âú×ãʱֹͣ½âÎö¡£Ò»°ãÀ´Ëµ£¬SAX»¹±ÈËüµÄÌæ´úÕßDOM¿ìÐí¶à¡£
Ñ¡ÔñDOM»¹ÊÇÑ¡ÔñSAX£¿ ¶ÔÓÚÐèÒª×Ô¼º±àд´úÂëÀ´´¦ÀíXMLÎĵµµÄ¿ª·¢È ......
1£©DOM£¨JAXP Crimson½âÎöÆ÷£©
DOMÊÇÓÃÓëƽ̨ºÍÓïÑÔÎ޹صķ½Ê½±íʾXMLÎĵµµÄ¹Ù·½W3C±ê×¼¡£DOMÊÇÒÔ²ã´Î½á¹¹×éÖ¯µÄ½Úµã»òÐÅϢƬ¶ÏµÄ¼¯ºÏ¡£Õâ¸ö²ã´Î½á¹¹ÔÊÐí¿ª·¢ÈËÔ±ÔÚÊ÷ÖÐÑ°ÕÒÌض¨ÐÅÏ¢¡£·ÖÎö¸Ã½á¹¹Í¨³£ÐèÒª¼ÓÔØÕû¸öÎĵµºÍ¹¹Ôì²ã´Î½á¹¹£¬È»ºó²ÅÄÜ×öÈκι¤×÷¡£ÓÉÓÚËüÊÇ»ùÓÚÐÅÏ¢²ã´ÎµÄ£¬Òò¶øDOM±»ÈÏΪÊÇ»ùÓÚÊ÷»ò»ùÓÚ¶ÔÏóµÄ¡£DOM ÒÔ¼°¹ãÒåµÄ»ùÓÚÊ÷µÄ´¦Àí¾ßÓм¸¸öÓŵ㡣Ê×ÏÈ£¬ÓÉÓÚÊ÷ÔÚÄÚ´æÖÐÊdz־õģ¬Òò´Ë¿ÉÒÔÐÞ¸ÄËüÒÔ±ãÓ¦ÓóÌÐòÄܶÔÊý¾ÝºÍ½á¹¹×÷³ö¸ü¸Ä¡£Ëü»¹¿ÉÒÔÔÚÈκÎʱºòÔÚÊ÷ÖÐÉÏϵ¼º½£¬¶ø²»ÊÇÏñSAXÄÇÑùÊÇÒ»´ÎÐԵĴ¦Àí¡£DOMʹÓÃÆðÀ´Ò²Òª¼òµ¥µÃ¶à¡£
2£©SAX
SAX´¦ÀíµÄÓŵã·Ç³£ÀàËÆÓÚÁ÷ýÌåµÄÓŵ㡣·ÖÎöÄܹ»Á¢¼´¿ªÊ¼£¬¶ø²»ÊǵȴýËùÓеÄÊý¾Ý±»´¦Àí¡£¶øÇÒ£¬ÓÉÓÚÓ¦ÓóÌÐòÖ»ÊÇÔÚ¶ÁÈ¡Êý¾Ýʱ¼ì²éÊý¾Ý£¬Òò´Ë²»ÐèÒª½«Êý¾Ý´æ´¢ÔÚÄÚ´æÖС£Õâ¶ÔÓÚ´óÐÍÎĵµÀ´ËµÊǸö¾Þ´óµÄÓŵ㡣ÊÂʵÉÏ£¬Ó¦ÓóÌÐòÉõÖÁ²»±Ø½âÎöÕû¸öÎĵµ£»Ëü¿ÉÒÔÔÚij¸öÌõ¼þµÃµ½Âú×ãʱֹͣ½âÎö¡£Ò»°ãÀ´Ëµ£¬SAX»¹±ÈËüµÄÌæ´úÕßDOM¿ìÐí¶à¡£
Ñ¡ÔñDOM»¹ÊÇÑ¡ÔñSAX£¿ ¶ÔÓÚÐèÒª×Ô¼º±àд´úÂëÀ´´¦ÀíXMLÎĵµµÄ¿ª·¢È ......
ÓÐÈË»áÎÊ£¬DTDºÍSchema¶¼ÊǶÔXMLÎĵµµÄÒ»ÖÖÔ¼Êø£¬ÎªÊ²Ã´²»¾ÍÑ¡ÆäÖÐÖ®Ò»£¬¶øÓÖÓÐSchemaÄØ¡£ÒòΪDTD°²È«¶ÈÌ«µÍÁË£¬Ò²¾ÍÊÇ˵ËüµÄÔ¼Êø¶¨ÒåÄÜÁ¦²»×㣬ÎÞ·¨¶ÔXMLʵÀýÎĵµ×ö³ö¸üϸÖµÄÓïÒåÏÞÖÆ¡£ÆäʵϸÐĵÄÈ˻ᷢÏÖ£¬ÔÚDTDÖУ¬Ö»ÓÐÒ»¸öÊý¾ÝÀàÐÍ£¬¾ÍÊÇPCDATA£¨ÓÃÔÚÔªËØÖУ©ºÍCDATA£¨ÓÃÔÚÊôÐÔÖУ©£¬ÔÚÀïÃæдÈÕÆÚÒ²ÐУ¬Êý×Ö»¹ÐУ¬×Ö·û¸üÊÇûÎÊÌâ¡£¶øSchemaÕýÊÇÕë¶ÔÕâЩDTDµÄȱµã¶øÉè¼ÆµÄ£¬SchemaÊÇÍêȫʹÓÃXML×÷ΪÃèÊöÊֶΣ¬¾ßÓкÜÇ¿µÄÃèÊöÄÜÁ¦£¬À©Õ¹ÄÜÁ¦ºÍ´¦Àíά»¤ÄÜÁ¦µÈ¡£ÏÂÃæÈÃÎÒÃÇ¿´Ò»¸ö¼òµ¥µÄÀý×Ó°É£º
hello.xml
-------------------
<?xml version="1.0"?>
<greeting>Hello World!!</greeting>
˵Ã÷£º
Ò»¸ö¸ùÔªËØ£ºgreeting£»ÇÒÕâ¸öÔªËز»º¬ÊôÐÔ£¬ÎÞ×ÓÔªËØ£¬ÄÚÈÝÊÇ×Ö·û´®¡£
hello.xsd
££££££££££
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="greeting" type="xsd:string"/>
</xsd:schema>
˵Ã÷£º
XML SchemaÎĵµºó׺ÃûÊÇ.xsd£¬ÍêÈ«·ûºÏXMLÓï·¨£¬¸ùÔªËØÊÇschema£¬ÃüÃû¿Õ¼äxmlns:xsd="http://www.w3.org/2001/XMLSchema£¬ÓÃÔªËØ<elemen ......