JAVAÓëXML_¶ÁÊé±Ê¼Ç_2010 05 14
JAVATMÓëXML 2010-05-14
Ò»¡¢¸ÅÄî
l ÈκÎXMLÎĵµ¶ÔÈκÎÀàÐ͵ÄÓ¦ÓÃÒÔ¼°ÕýÈ·µÄ½âÎö¶¼±ØÐë¾ßÓÐÁ¼ºÃµÄ½á¹¹well-formed
l XMLÎĵµ¿ÉÒÔÊÇÓÐЧµØ£¨valid£©£¬µ«²¢·ÇÒ»¶¨ÒªÇóÓÐЧ¡£
l PI£¨processing instruction£©¸ñʽ£º<?target instructions?>¡£XMLÖеĴ¦ÀíÖ¸ÁîÖ»ÄÜÊǽâÎöÆ÷¿ÉÒÔʶ±ðµÄXML±ê×¼´¦ÀíÃüÁÖеÄÒ»²¿·Ö
l DTD£¨Document Type Definition£©£¬ÎªÒ»¸öXMLÎĵµ£¨»òÒ»¸öÎĵµ¼¯ºÏ£©¼àÀíÁËÒ»Ì×¹æÔò¡£DTD±¾Éí²»ÊǶÀÁ¢µÄ¼¼Êõ¹æ·¶£¬ËüÊôÓڹ淶µÄÒ»²¿·Ö£¬XMLÎĵµÖеÄÎĵµÀàÐÍÉùÃ÷¼È¿ÉÒÔÊDZê¼ÇÔ¼Êø£¬Ò²¿ÉÒÔÊÇ´øÓбê¼ÇÔ¼ÊøµÄÍⲿÎĵµ¡£ÕâÁ½ÖÖÔ¼ÊøµÄ×ۺϾÍÊÇDTD
l namespace£¨Ãû×ֿռ䣩¾ÍÊÇÒ»¸öÔªËØÇ°×ºÓëURI£¨Í³Ò»×ÊÔ´±êʶ·û£©Ö®¼äµÄÒ»ÖÖÓ³Éä¹ØÏµ
l XSL£¨Extensible Stylesheet Language£©¿ÉÀ©Õ¹Ñùʽ±íÓïÑÔ¡£Äܹ»¸Ä±ä¼°×ª»»Ò»ÖÖXML¸ñʽµÄXMLÊý¾Ý£¬Ê¹Æä±äΪÁíÒ»ÖÖXML¸ñʽ¡£
l XSLT£¨Extensible Stylesheet Language Transformation£¬¿ÉÀ©Õ¹Ñùʽ±íÓïÑÔת»»£©¹ý³ÌÖУ¬Ò»¸öXSLÎı¾Ñùʽ±íºÍÒ»¸öXMLÎı¾Îĵµ±»“ºÏ²¢µ½Ò»¿é”£¬Õ⽫µ¼ÖÂXMLÊý¾Ý°´ÕÕXSLÀàÐͶø±»¸ñʽ»¯¡£
l XPath£¨XML Path Language£¬XML·¾¶ÓïÑÔ£©ÊÇÒ»¸ö¶ÀÁ¢µÄ¼¼Êõ¹æ·¶£¬µ«ËüΪXSLT´óÁ¿Ê¹Óá£XPath¼¼Êõ¹æ·¶¶¨ÒåÁËÒ»¸öXMLÎĵµµÄÌØ¶¨ÌõÄ¿¸ÃÈçºÎ¶¨Î»¡£
l XMLģʽ£¨Schema£©ÊDZ»Éè¼ÆÓÃÀ´´úÌæºÍÔöÇ¿DTDµÄ¡£
l XQLÊDZ»Éè¼ÆÓÃÀ´ÔÊÐíXMLÎĵµ¸ñʽÇáËɵØÃèÊöÊý¾Ý¿â²éѯµÄÒ»ÖÖ²éѯÓïÑÔ¡£
l SAXÊÇXML¼òµ¥API£¨Simple API for XML£©µÄËõд¡£ÌṩÁËÒ»¸öÓÃÀ´½âÎöXMLÊý¾ÝµÄ»ùÓÚʼþµÄ¿ò¼Ü£¬ËüÊÇɨÃèÕû¸öÎĵµ£¬²¢½«Êý¾Ý²ð½â³É¼¸¸öÓÎÓ¾²¿ÃŵÄÒ»ÖÖ´¦Àí¹ý³Ì¡£SAXÊÇÌṩºÍ½âÎöXMLÊý¾ÝµÄÒ»ÖÖ·½·¨¡£SAXΪ½âÎöÆ÷ÌṩÁËÒ»¸ö¿ÉÓõĿò¼Ü£¬¶øÇÒ¶¨ÒåÁ˽âÎö¹ý³ÌÖÐÓÃÓÚ¼àÊÓµÄʼþ¡£SAX APIΪÎĵµ½âÎöÌṩµÄÊÇ·½·¨£¬¶ø²»ÊÇXML½âÎöÆ÷±¾Éí¡£
l DOM£¨Document Object Model£©£¬Ïà±È֮ϣ¬SAXÖ»ÊÇÔÚÒ»¸öXMLÎĵµ·¶Î§ÄÚλÊý¾ÝÌṩͨ·£¬DOMÔòÌṩÁ˲Ù×÷´ËÀàÊý¾ÝµÄÒ»ÖÖ·½Ê½¡£DOM»¹½«Õû¸öXMLÎĵµ¶ÁÈëÄڴ棬²¢½«ËùÓеÄÊý¾Ý´¢´æÔÚ½ÚµãÖУ¬ÊÇÕû¸öÎĵµ¿ÉÒÔ¿ìËÙʹÓá£ÕâÒ²ÊÇDOMµÄȱÏÝ£¬Õ¼ÓôóÁ¿µÄÄڴ棬ÎĵµÔ½ÅÓ´ó£¬È±ÏÝÔ½Ã÷ÏÔ¡£
l JavaÊÇ¿ÉÒÆÖ²µÄ´úÂ룬XMLÊÇ¿ÉÒÆÖ²µÄÊý¾Ý¡£
l XML×îÁ÷ÐеÄÓ÷¨ÊÇ´´½¨ÄÚÈÝÓë±íÏÖÐÎʽµÄ·ÖÀ룬´ËʱÎÒÃǽ«Ó¦ÓóÌÐòµÄÄÚÈÝ£¨content£©¶¨ÒåΪÐèҪΪ¿Í»§·½ÏÔʾµÄÊý¾Ý£¬½«Ó¦ÓóÌÐòµÄ±íÊö£¨presentation
Ïà¹ØÎĵµ£º
×î½ü¿´µ½ÁËÒ»¸öÏîÄ¿½âÎöxmlµÄ·½Ê½£¬¾õµÃÒ²²»´í£¬²âÊÔϸú´ó¼Ò·ÖÏíÏ£¡ÑÛϽâÎöxmlµÄ·½Ê½ºÜ¶à£¬ÕâÀï²»ÌáÁË£¡Ö»Ì¸Ì¸digesterµÄʹÓã¬Ç³Ì¸°É£¡Ï£ÍûÒÔºóÄãÃÇÓöµ½ÁËÄÜÓеã°ïÖú°É£¡
Ê×ÏÈÔÚʹÓÃDigester½âÎöxmlʱҪµ¼Èë2¸öjar°ü£¬ÓеÄÈË˵ÊÇ4¸ö£ ......
³£ÓõÄϵÁл¯¶¨Ò壨using System.Xml.Serialization;£©
[XmlAttribute("name")] // ¶¨Òå<Tag name="…"></Tag>
[XmlElement("label")] // ¶¨Òå<label>…</label>
[XmlIgnoreAttrib ......
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.xpath.XPath;
public class XMLReader {
priv ......
ListµÄÓ÷¨
List°üÀ¨List½Ó¿ÚÒÔ¼°List½Ó¿ÚµÄËùÓÐʵÏÖÀà¡£ÒòΪList½Ó¿ÚʵÏÖÁËCollection½Ó¿Ú£¬ËùÒÔList½Ó¿ÚÓµÓÐCollection½Ó¿ÚÌṩµÄËùÓг£Ó÷½·¨£¬ÓÖÒòΪListÊÇÁбíÀàÐÍ£¬ËùÒÔList½Ó¿Ú»¹ÌṩÁËһЩÊʺÏÓÚ×ÔÉíµÄ³£Ó÷½·¨£¬Èç±í1Ëùʾ¡£
±í1 List½Ó¿Ú¶¨ÒåµÄ³£Ó÷½·¨¼°¹¦ÄÜ
´Ó±í1¿ÉÒÔ¿´³ö£¬List½Ó¿ÚÌṩµÄÊʺÏÓÚ×ÔÉíµÄ ......
page.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="page.xsl" ?>
<list>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
& ......