[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£¬ÄÇÃ´ÔªËØ¾Í²»Ôٷŵ½Êý×éÒýÓÃÖУ
Ïà¹ØÎĵµ£º
SAX¸ÅÄî
SAXÊÇSimple API for XML
µÄËõд£¬Ëü²¢²»ÊÇÓÉW3C¹Ù·½ËùÌá³öµÄ±ê×¼£¬¿ÉÒÔ˵ÊÇ“Ãñ¼ä”µÄÊÂʵ±ê×¼¡£Êµ¼ÊÉÏ£¬ËüÊÇÒ»ÖÖÉçÇøÐÔÖʵÄÌÖÂÛ²úÎï¡£ËäÈ»Èç´Ë£¬ÔÚXMLÖжÔSAXµÄÓ¦ÓÃË¿ºÁ²»±ÈDOMÉÙ£¬¼¸ºõËùÓеÄXML½âÎöÆ÷¶¼»áÖ§³ÖËü¡£
Óë
DOM±È½Ï¶øÑÔ£¬SAXÊÇÒ»ÖÖÇáÁ¿Ð͵ķ½·¨¡£ÎÒÃÇÖªµÀ£¬ÔÚ´¦ÀíDOMµÄʱºò£¬Î ......
LSParserFilter---ÔØÈëÓë±£´æ
Ó¦ÓÃorg.w3c.dom ʵÏÖXMLµÄÔØÈëÓë±£´æÊµÀý
/**
* ʵÏÖDOM3µÄLS(Load & Save)¹¦ÄÜ
*
* @author S.Well
* @see org.w3c.dom.DOMErrorHandler
* @see org.w3c.dom.ls.LSParserFilter
*/
public class XML_LS implements DOMErrorHandler, LSParserFilter {
private static ......
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 Êý¾Ýµº¼¼Êõ£¬ËùÒÔ°ÑÊý¾Ýµº·½ÃæµÄ֪ʶ×ܽáһϡ£
XML Êý¾Ýµº £¨ data islands £©¾ÍÊDZ» html Ò³ÃæÒýÓûòÕß°üº¬µÄ xml Êý¾Ý£¬ÊÇ´Ó IE5 ¿ªÊ¼ÒýÈëµÄÒ»Ïî¼¼Êõ¡£¿ÉÒÔͨ¹ý xml ±êÇ©ºÜÇáËɽ«Êý¾Ýµº²åÈëµ½ html ÎĵµÖС£ÄÇôÔõô·ÃÎÊ xml Êý¾ÝµºµÄÊý¾ÝÄØ£¬ºÜ¼òµ¥£¬Í¨¹ý xml µÄ id ¡£ÔÚÒ³ ......
public static IList<News> GetAllNews()
{
XmlDocument xdoc = new XmlDocument();
xdoc.Load("Äã¶ÁÈ¡µÄµØÖ·£ºÀýÈç ......