[Perl]ÓÃXML::Simple½âÎöXMLÎļþ
ÔÚPerlÖнâÎöXMLµÄ·½·¨×î³£¼ûµÄ¾ÍÊÇʹÓà XML::DOM
ºÍ XML::SimpleÁË¡£
XML::DOM¹ýÓÚÅӴ󣬶øÇÒ½âÎö½á¹ûÊÇÒ»¸öDOMÊ÷£¬²Ù×÷Ò²²»·½±ã¡£
¶ÔÓÚСÐÍÇÒ²»¸´ÔÓµÄXMLÎļþ£¬XML::DOMÕæÊÇɱ¼¦ÓÃÅ£µ¶¡£
Õâʱ¾ÍÂÖµ½Çá±ãµÄXML::SimpleÉϳ¡ÁË¡£
XML::SimpleÈçÆäÃû£¬ÕæµÄºÜ¼òµ¥¡£¼ÙÉèXMLÄÚÈÝÈçÏ£º
<opt>
<user login="grep" fullname="Gary R Epstein" />
<user login="stty" fullname="Simon T Tyson" >
<session pid="12345"/>
</user>
<text>This is a test.</text>
</opt>
ÄÇôֻÐèÕâÑùд£º
use XML::Simple;
use Data::Dumper;
$xml = XMLin('sample.xml');
print Dumper($xml);
¾Í¿ÉÒÔÇá¶øÒ׾ٵؽ«XML½âÎö³ÉÒ»¸öhash£¬È»ºóÓÃforeachÒÀ´Î´¦Àí¼´¿É¡£
$VAR1 = {
'text' => 'This is a test.',
'user' => [
{
'fullname' => 'Gary R Epstein',
'login' => 'grep'
},
{
'session' => {
'pid' => '12345'
},
'fullname' => 'Simon T Tyson',
'login' => 'stty'
}
]
};
¿ÉÒÔ·¢ÏÖÈçϹæÂÉ£º
ÔªËØµÄ±êÇ©Ãû±»ÓÃÓÚhashµÄkey¡£
µ¥¸öÔªËØµÄÄÚÈÝ×÷ΪhashµÄvalue£¬¶à¸öÖØ¸´µÄÔªËØµÄÄÚÈݱ»·Åµ½Ò»¸öÊý×éÒýÓÃÖÐ×÷ΪhashµÄvalue
ÊôÐÔºÍ×ÓÔªËØ¶¼ÒÔhashµÄkey=>value¶Ô³öÏÖÔÚÔªËØµÄÄÚÈÝÖÐ
Ò»¸öÎÊÌâÊÇ£¬¶Ôµ¥¸öÔªËØºÍ¶à¸öÖØ¸´ÔªËصĴ¦Àí½á¹û²»Ò»Ö£¬¾Í»áµ¼ÖÂforeach´¦Àíʱ±È½ÏÂé·³
£¨Ðè񻂿·ÖÊDZêÁ¿»¹ÊÇÊý×éÒýÓã©£¬ÈçÉÏÃæµÄ text ºÍ user µÄÖµ¡£
½â¾ö·½·¨ÊÇÌí¼ÓÑ¡Ïî ForceArray => 1£¬¾Í¿ÉÒÔÇ¿ÖÆµ¥¸öÔªËØÒ²·Åµ½Êý×éÒýÓÃÖС£
$xml = XMLin('sample.xml', ForceArray => 1);
print Dumper($xml);
ÔËÐнá¹û£¨²¿·Ö£©£º
$VAR1 = {
'text' => [
'This is a test.'
],
'user' => [
......
ÁíÒ»¸öÎÊÌâÊÇ£¬Èç¹ûÄãµÄÔªËØÊôÐÔÖаüº¬id¡¢name»òkey£¬ÄÇÃ´ÔªËØ¾Í²»Ôٷŵ½Êý×éÒýÓÃÖУ
Ïà¹ØÎĵµ£º
package book.xml;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.Default ......
xml
<mime>
<content>
<type>text/plain</type>
<big>357</big>
<text>D:\\cybercourttext2009101410241364.txt</text>
</content>
<content>
<type>text/plain</type>
<big>357</big>
<text>D:\\cybercourttext2009 ......
XML Schema ÖÐ import ºÍ include µÄÇø±ð
XML Schema ÔÊÐí½«Ò»¸öXSDÎļþ·ÖΪ¼¸¸öÎļþ´æ·Å£¬ÔÚ±ØÒªÊ±Ê¹Óà import »òÕß include ½øÐе¼Èë¡£Õâ¶þÕßµÄÇø±ðÊÇ£º
import£ºÖ»Äܵ¼È벻ͬÃüÃû¿Õ¼äµÄXSD
include£ºÖ»Äܵ¼ÈëÏàͬÃüÃû¿Õ¼äµÄXSD£¬»ò±»µ¼ÈëµÄXSDδÉùÃ÷ÃüÃû¿Õ¼ä
Àý×Ó£º
<xsd:import namespace=”http://acme ......
×î½ü×öµÄÒ»¸öÏîÄ¿ÖÐÔËÓà xml Êý¾Ýµº¼¼Êõ£¬ËùÒÔ°ÑÊý¾Ýµº·½ÃæµÄ֪ʶ×ܽáһϡ£
XML Êý¾Ýµº £¨ data islands £©¾ÍÊDZ» html Ò³ÃæÒýÓûòÕß°üº¬µÄ xml Êý¾Ý£¬ÊÇ´Ó IE5 ¿ªÊ¼ÒýÈëµÄÒ»Ïî¼¼Êõ¡£¿ÉÒÔͨ¹ý xml ±êÇ©ºÜÇáËɽ«Êý¾Ýµº²åÈëµ½ html ÎĵµÖС£ÄÇôÔõô·ÃÎÊ xml Êý¾ÝµºµÄÊý¾ÝÄØ£¬ºÜ¼òµ¥£¬Í¨¹ý xml µÄ id ¡£ÔÚÒ³ ......
·Ü¶·Á˽«½üÒ»¸öÔÂÒÆÖ²gloox¿âµ½brewƽ̨£¬ÔÚxml½âÎöµÄ×¼±¸Õâ±ß»¨Á˲»ÉÙʱ¼ä¡£ÆÚ¼äÒ²ÖØÐ·â×°Á˱ê×¼¿âµÄstring¡¢map¡¢listÀ࣬ÏÖÔÚ»ØÍ·ÏëÏëÊÕ»ñ»¹ÊÇÂù´óµÄ£¬µ«ÊÇÃ²ËÆÊÇÎÞÓõġ£
gloox´Ó0.9°æ±¾¿ªÊ¼¾Íno dependency on iksemel anymore£¬¶øiksemel×î³õÊÇרÃÅΪjabberдµÄxml½âÎöÆ÷£¬Õâô¿´À´£¬¶ÔÕâ¸öʱ¼ä·Ç³£½ôÆÈµÄÏîÄ¿À´Ëµ£ ......