w3pop.com :: ÍøÂçѧԺ :: XML :: XML ÔªËØ
XML Elements are extensible and they have relationships.
XMLÔªËØÊÇ¿ÉÀ©Õ¹µÄ£¬²¢ÇÒËüÃÇÊÇ»¥Ïà¹ØÁªµÄ¡£
XML Elements have simple naming rules.
XMLÔªËØµÄÃüÃû¹æÔò·Ç³£¼òµ¥¡£
XML documents can be extended to carry more information.
XMLÎĵµ¿ÉÒÔͨ¹ýÀ©Õ¹À´³ÐÔØ¸ü¶àÐÅÏ¢¡£
Look at the following XML NOTE example:
Çë¿´ÏÂÃæµÄXML Note µÄ°¸Àý£º
<note> |
Let's imagine that we created an application that extracted the <to>, <from>, and <body> elements from the XML document to produce this output:
¼ÙÉèÎÒÃÇÒѾ´´½¨ÁËÒ»¸öÓ¦ÓÃÈí¼þ£¬Ëü¿ÉÒÔ´ÓXMLÎĵµÖлñÈ¡ <to>¡¢<from> ºÍ <body> ÔªËØ£¬Êä³öÏÂÃæµÄ½á¹û£º
| MESSAGE
To: Tove Don't forget me this weekend! |
Imagine that the author of the XML document added some extra information to it:
¼ÙÉèXMLÎĵµµÄ×÷ÕßÓÖÌí¼ÓÁËһЩ¸½¼ÓÐÅÏ¢£º
<note> |
Should the application break or crash?
Ó¦ÓóÌÐòÊDZ»ÖÕÖ¹»¹ÊDZ»ÆÆ»µ£¿
No. The application should still be able to find the <to>, <from>, and <body> elements in the XML document and produce the same output.
²»£¡Ó¦ÓóÌÐòÈÔ»á»ñÈ¡XMLÎĵµÖеÄ<to>, <from>,ºÍ <body>ÔªËØ£¬Êä³öͬÑùµÄ½á¹û¡£
XML documents are Extensible.
XMLÎĵµÊÇ¿ÉÀ©Õ¹µÄ¡£
Elements are related as parents and children.
ÔªËØÖ®¼äµÄ¹ØÏµÀàËÆÓÚ¸¸Ä¸Óë×ÓÅ®ÕâÑùµÄ¹ØÏµ¡£
To understand XML terminology, you have to know how relationships between XML elements are named, and how element content is described.
ÏëÒªÁ˽âXMLÊõÓÄã±ØÐëÁ˽âÈçºÎ¶¨ÒåXMLÔªËØÖ®¼äµÄ¹ØÏµ£¬ÒÔ¼°ÈçºÎÃèÊöÔªËØËù°üº¬µÄÄÚÈÝ¡£
Imagine that this is a description of a book:
¼ÙÉèÏÂÃæµÄÄÚÈÝÊǶÔÒ»±¾ÊéµÄ¾ßÌåÃèÊö£º
|
My First XML Introduction to XML
XML Syntax
|
Imagine that this XML document describes the book:
¼ÙÉèÏÂÃæµÄXMLÎĵµ¶ÔÕâ±¾Êé×÷³öÁ˾ßÌåÃèÊö£º
<book> <chapter>Introduction to XML |
Book is the root element. Title, prod, and chapter are child elements of book. Book is the parent element of title, prod, and chapter. Title, prod, and chapter are siblings (or sister elements) because they have the same parent.
Book ÊǸùÔªËØ¡£Title¡¢prod ºÍ chapter ÊÇÊéµÄ×ÓÔªËØ¡£Book ÊÇ title¡¢prod ºÍ chapter µÄ¸¸ÔªËØ¡£Title¡¢prod ºÍ chapter ÊǓͬÊô¹ØÏµ”£¨»ò½ãÃÃÔªËØ£©£¬ÒòΪËüÃÇÓµÓÐÏàͬµÄ¸¸ÀàÔªËØ¡£
Elements can have different content types.
ÔªËØ¿ÉÒÔ°üº¬²»Í¬µÄÄÚÈÝÀàÐÍ¡£
An XML element is everything from (including) the element's start tag to (including) the element's end tag.
Ò»¸öXMLÔªËØµÄËùÓÐÄÚÈÝÊÇÔªËØµÄÆðʼ±êÇ©ºÍÖÕÖ¹±êǩ֮¼äµÄÒ»ÇÐÄÚÈÝ£¨Æðʼ¡¢ÖÕÖ¹±êǩҲ°üº¬ÆäÖУ©¡£
An element can have element content, mixed content, simple content, or empty content. An element can also have attributes.
Ò»¸öÔªËØ¿ÉÒÔ°üº¬ÔªËØÄÚÈÝ¡¢»ìºÏÄÚÈÝ¡¢¼òµ¥ÄÚÈÝ¡¢ÉõÖÁ¿ÕÄÚÈÝ¡£Ò»¸öÔªËØÒ²¿ÉÒÔ°üº¬ÊôÐÔ¡£
In the example above, book has element content, because it contains other elements. Chapter has mixed content because it contains both text and other elements. Para has simple content (or text content) because it contains only text. Prod has empty content, because it carries no information.
ÉÏÊöÀý×ÓÖУ¬book °üº¬ÔªËØÄÚÈÝ£¬ÒòΪËü°üº¬×ÅÆäËüÔªËØ£»Chapter °üº¬»ìºÏÄÚÈÝ£¬ÒòΪËü¼È°üº¬Îı¾ÓÖ°üº¬ÆäËüÔªËØ£»Para°üº¬¼òÒ×ÄÚÈÝ£¨»òÕßÎı¾ÄÚÈÝ£©£¬ÒòΪËüÖ»°üº¬Îı¾¡£Prod °üº¬¿ÕÄÚÈÝ£¬ÒòΪËüûÓÐЯ´øÈκÎÐÅÏ¢¡£
In the example above only the prod element has attributes. The attribute named id has the value "33-657". The attribute named media has the value "paper".
ÉÏÊöÀý×ÓÖÐÖ»ÓÐprodÔªËØÓÐÊôÐÔ¡£IDÊôÐÔֵΪ"33-657"¡£MediaÊôÐÔֵΪ"paper"¡£
XML elements must follow these naming rules:
XML ÔªËØ±ØÐë×ñÑÏÂÃæÕâЩÃüÃû¹æÔò£º
Take care when you "invent" element names and follow these simple rules:
ÎªÔªËØÃüÃûʱ±ØÐëÒª×ñÑÒÔÏÂÕâЩ¼òµ¥µÄ¹æÔò£º
Any name can be used, no words are reserved, but the idea is to make names descriptive. Names with an underscore separator are nice.
¼¸ºõËùÓÐÃû³Æ¶¼¿É±»Ê¹Ó㬵«ÃüÃûµÄ·½Ê½±ØÐëÈÃÃû³Æ¾ßÓÐ×ÔÎÒÃèÊöµÄÐÔÖÊ¡£ÔÚÃû³ÆÖ®¼äÓÃÏ»®Ïß¼ÓÒÔ·Ö¸îµÄ·½·¨ÖµµÃÍÆ¼ö£¬¾ßÌåÈçÏ£º
Examples: <first_name>, <last_name>.
Àý×Ó£º<first_name>¡¢ <last_name>¡£
Avoid "-" and "." in names. For example, if you name something "first-name," it could be a mess if your software tries to subtract name from first. Or if you name something "first.name," your software may think that "name" is a property of the object "first."
±ÜÃâÔÚÃû³ÆÖгöÏÖ"-" ºÍ"."¡£¾Ù¸öÀý×Ó£¬Èç¹ûÄ㽫Ãû³Æ¶¨Îª"first-name" Èí¼þ»áÎóÒÔΪÕâÊÇ´Ó“first”ÖмõÈ¥name£¬Õâ½á¹û»áÔì³ÉÔËÐлìÂÒ¡£Èç¹ûÄãÈ¡Ãû³ÆÎª“first.name”£¬Èí¼þ¿ÉÄÜ»áÈÏΪ"name"ÊÇfirst"¶ÔÏóµÄÊôÐÔ¡£
Element names can be as long as you like, but don't exaggerate. Names should be short and simple, like this: <book_title> not like this: <the_title_of_the_book>.
ÔªËØÃû³ÆÏëÈ¡¶à³¤¶¼¿ÉÒÔ£¬µ«²»ÒªÌ«¿äÕÅÁË¡£Ãû³ÆÓ¦¸Ã¾¡Á¿¼ò¶Ì£¬ÏñÕâÑù£º<book_title>¶ø²»ÊÇÕâÑù£º<the_title_of_the_book>
XML documents often have a corresponding database, in which fields exist corresponding to elements in the XML document. A good practice is to use the naming rules of your database for the elements in the XML documents.
XMLÎĵµÍ¨³£°üº¬ÏàÓ¦µÄÊý¾Ý¿â£¬Êý¾Ý¿âÓ¦¸ÃÓëXMLÎĵµµÄÔªËØÏà·û¡£¸øXMLÎĵµÔªËØÈ¡Ãûʱ×ñÑÊý¾Ý¿âÀïµÄÃüÃû¹æÔò£¬ÕâÊǸöºÜºÃµÄϰ¹ß¡£
Non-English letters like éòá are perfectly legal in XML element names, but watch out for problems if your software vendor doesn't support them.
·ÇÓ¢ÎÄ×ÖĸÈç“éòá”ÔÚXMLÔªËØÃû³ÆÖÐÊÇÍêÈ«ºÏ·¨µÄ¡£µ«ÊÇ£¬Èç¹ûÄãʹÓõÄÈí¼þ²»Ö§³ÖËüÃÇ£¬±ØÐë×¢ÒâÕâ¿ÉÄÜ»á³öÎÊÌâŶ¡£
The ":" should not be used in element names because it is reserved to be used for something called namespaces (more later).
ÔªËØÃû³ÆÖв»Ó¦¸ÃʹÓÃ":"¡£ÒòΪËüÒѾΪÃüÃû¿Õ¼äרÃÅÔ¤Áô³öÀ´ÁË£¨¾ßÌåÄÚÈݽ«ÔÚºóÃæ×ö¾ßÌå²ûÊÍ£©¡£