ת²Ø£ºPerl ´¦ÀíXML XML::Parser::Expat
µ±ÔÚPerlÖÐʹÓÃXMLʱ£¬Äã»áÓн«½üÎå°Ù¸öCPANÄ£¿é¿ÉÒÔÑ¡Ôñ£¬Ã¿Ò»¸ö¶¼Ö§³ÖÕûºÏWeb·þÎñµÄ²»Í¬·½Ãæ¡£´ËÍ⣬PerlµÄºËÐÄ¿â°üÀ¨¶à¸öÖ§³ÖXMLµÄÄ£¿é¡£ÕâƪÎÄÕ¾͹Ø×¢ÓÚÒ»¸ö×îÔçÆÚÇÒÉæ¼°×îƵ·±µÄºËÐÄÄ£¿é£ºXML::Parser.
XML::½âÎöÆ÷ϵÁÐ
×î³õµÄPerl½âÎöÆ÷XML::Parser::ExpatÓÉLarry WallÔÚ¼¸ÄêÇ°±àд²¢ÓÉClark Cooper±£³ÖÑÓÐø¡£Ä£¿é×÷ΪExpat XML parserµÄ½çÃæÓÉJames ClarkÓÃCÓïÑÔ±àдÇÒÒѾ±»Ò»Ð©½Å±¾ÓïÑÔËù²ÉÓá£
ExpatÊÇÒ»¸öÒÔʼþΪ»ù´¡µÄ½âÎöÆ÷£¬Òâζ×ÅÌض¨Ìõ¼þ´¥·¢´¦Àí¹¦ÄÜ¡£ÀýÈ磬һ¸ö¿ªÊ¼»ò½áβ±ê¼Ç½«´¥·¢Êʵ±µÄÓû§¶¨Òå×Ó³ÌÐò¡£XML::ParserÄ£¿éÔÚExpat¹¦ÄܵĻù´¡ÉÏΪÆÕͨӦÓÃËù½¨¹¹¡£
×¢ÒâExpatÔÚ½âÎö֮ǰ²»»áʹXMLÉúЧÇÒÔÚÓöµ½´íÎó³öÏÖʱ»áʧЧ¡£ÕâЩÏÞÖÆ»áʹXML::ParserÄ£¿éËٶȷdz£Ö®¿ì¡£
XML::Parser¼ò½é
ÈκÎÈ˶¼¿ÉÒÔÔÚPerlÖбàдһ¸öXML½âÎöÆ÷¡£±Ï¾¹ÄãÖ»ÊÇ´¦Àí¾ßÓÐÒÑÖª¸ñʽµÄÎı¾¡£µ«ÓÉÓÚXML::ParserÄ£¿éÊÇÓÃC±àдµÄ£¬Ëû±ÈÈκÎÄã¿ÉÒÔʵÏֵĴ¿PerlÓ¦ÓÃÒª¸üÓÐЧµÄ¶à¡£¶øÇÒ¼ÈÈ»ËûÒѾ±»±àд³öÀ´£¬Äã¾Í¿ÉÒÔ°Ñʱ¼ä»¨ÔÚÆäËû¸üÓÐÓõÄÊÂÇéÉÏ¡£
XML::ParserµÄExpatµÄ¹¦ÄÜÔÊÐíÄ㶨ÒåËùʹÓõĽâÎöÆ÷µÄÑùʽ¡£×îÆÕ±éʹÓõÄÑùʽÊÇTreeºÍStream£¬Tree´¦ÀíXMLµÄÊäÈ룬´´½¨º¬ÓÐÎļþÖеÄÔªËغÍÊý¾ÝµÄ³ÉÌ×Êý×飬ÕâÑùÄã¾Í¿ÉÒÔ°´ÕÕÄãµÄÒâÔ¸¿ØÖÆÕâ¸ö½á¹¹¡£Stream½«·ÖÎöÐÐΪ»®·Ö²ã¼¶£¬ÔÚÒ»¸öʼþµÄ¿ªÊ¼×ö´¦Àí£¬ÒªÊ¹ÓÃStream£¬Äã±ØÐëÔÚÄã¶ÔÄ£¿é×öÀýʾ²¢½«ÆäÓëÃèÊöʼþ³öÏÖʱÈçºÎ´¦ÀíµÄ×Ó³ÌÐòÏà¹ØÁªÊ±¶¨Òå´¦ÀíÆ÷¡£
ÆäËüÑùʽ»¹°üÀ¨£ºSub£¬ÔÊÐíÄãÌض¨µØ¶ÔÒ»ÖÖXML±ê¼Ç¶¨ÒåÆ书ÄÜ¡£Debug£¬½«ÎļþÏÔʾδ±ê×¼Êä³ö¡£Object£¬ÓëTreeÏàËƵ«ÊÇ·µ»Ø¶ÔÏó¡£ÄãÒ²¿ÉÒÔͨ¹ýÔÚXML::ParserÀàÖж¨ÒåÒ»¸ö×ÓÀàÀ´É趨һ¸ö¿ÍÖÆÑùʽ¡£
Ò»¸öÀý×Ó
Õâ¸öÀý×ÓÖУ¬ÎÒ½«Ê¹ÓÃXML::ParserÀàÀ´´´½¨Ò»¸öStream½âÎö¡£ÎÒ½«´ø³öÒ»¸ö½«XMLÎļþ½âÎöΪ±ê×¼Êä³öµÄ¼òµ¥½Å±¾³ÌÐò£¬Äã¿ÉÒÔÔÚ±íAÖп´µ½½Å±¾³ÌÐò(xmlparse.pl)£¬ÔÚ±íBÖп´µ½XMLÎļþ(data.xml)¡£ÕâÀÓÉÓÚÕâÊÇÒ»¸öÃüÁîÐнű¾£¬ÎÒÑ¡Ôñ²»½âÎöURLÔªËØ¡£ÒªÖ´ÐÐÕâ¸ö½Å±¾³ÌÐò£¬ÔÚÃüÁîÌáʾÏ£¬¼üÈ룺
perl xmlparse.pl data.xml
½Å±¾ÏȲÎÕÕÊʵ±µÄÄ£¿é£º
use XML::Parser;
¡¡
½Ó×Å£¬´ÓÃüÁîÌáʾÊäÈëץȡÎļþ£º
my $xmlfile = shift;
die "Cannot find file "$xmlfile""
unless -f $xmlfile;
½Å±¾ÉèÖÃһЩ³õʼ±äÁ¿£º
$count = 0;
$tag = "";
È»ºóÊÇ´´½¨½âÎöÆ÷ʵÀý£º
my $parser = new XML::Parser;
ÏÖÔÚÎÒÃǶ¨Òåʼþ´¦
Ïà¹ØÎĵµ£º
дÕâƪÎÄÕµÄÔÒòÓÐÈçϼ¸µã£º1)C++±ê×¼¿âÖÐûÓвÙ×÷XMLµÄ·½·¨£¬ÓÃC++²Ù×÷XMLÎļþ±ØÐëÊìϤһÖÖº¯Êý¿â£¬LIBXML2ÊÇÆäÖÐÒ»ÖÖºÜÓÅÐãµÄXML¿â£¬¶øÇÒËüͬʱ֧³Ö¶àÖÖ±à³ÌÓïÑÔ£»2)LIBXML2¿âµÄTutorialдµÃ²»Ì«ºÃ£¬ÓÈÆäÊDZàÂëת»»µÄ²¿·Ö£¬²»ÊÊÓÃÓÚÖÐÎıàÂëµÄת»»£»3)ÍøÉϵĴó¶àÊý¹ØÓÚLibxml2µÄ½éÉܽö½öÊÇ·ÒëÁË×Ô´øµÄ×ÊÁÏ£¬Ã»ÓÐÏêϸ½é ......
Ê×ÏÈÎÒÃǸø³öÒ»¶ÎʾÀý³ÌÐò£º
import
java.io.File;
import
java.io.FileWriter;
import
java.util.Iterator;
import
org.dom4j.Document;
import
org.dom4j.DocumentHelper;
import
org.dom4j.Element;
import
org.dom4j.io.OutputFormat;
import
org.dom ......
private
NodeList root(
final
String url ,
final
String str){
NodeList root =
null
;
try
{
InputSource is=
new
InputSource(
new
InputStreamReader(
new
UR ......
Ò»£ºSpringÖеļ¸ÖÖÈÝÆ÷¶¼Ö§³ÖʹÓÃxml×°Åäbean£¬°üÀ¨£º
XmlBeanFactory £¬
ClassPathXmlApplicationContext £¬
FileSystemXmlApplicationContext £¬
XmlWebApplicationContext
¼ÓÔØÕâЩÈÝÆ÷µÄÅäÖÃÎļþµÄxmlÓÐһϼ¸ÖÖ³£¼ûµ ......
import java.io.StringWriter;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.apache.xerces.dom.DocumentImpl;
import org.apache.xerces.dom.DOMImplementationImpl;
import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.Serializer;
import org.apache.xml. ......