XML×Ö·û´®ºÍXML DOCUMENTµÄÏ໥ת»»
±¾ÎÄÉæ¼°µ½XML×Ö·û´®ºÍXml DocumentµÄת»»ÎÊÌ⣬¾Í¸÷ÖÖXML½âÎöÆ÷·Ö±ðÁоÙÈçÏ£¬ÒÔ·½±ã½ñºó²éÔÄ¡£
¡¡¡¡Ò»¡¢Ê¹ÓÃ×îÔʼµÄjavax.xml.parsers£¬±ê×¼µÄjdk api
¡¡¡¡// ×Ö·û´®×ªXML
¡¡¡¡String xmlStr = \"......\";
¡¡¡¡StringReader sr = new StringReader(xmlStr);
¡¡¡¡InputSource is = new InputSource(sr);
¡¡¡¡DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
¡¡¡¡DocumentBuilder builder=factory.newDocumentBuilder();
¡¡¡¡Document doc = builder.parse(is);
¡¡¡¡//XMLת×Ö·û´®
¡¡¡¡TransformerFactory tf = TransformerFactory.newInstance();
¡¡¡¡Transformer t = tf.newTransformer();
¡¡¡¡t.setOutputProperty(\"encoding\",\"GB23121\");//½â¾öÖÐÎÄÎÊÌ⣬ÊÔ¹ýÓÃGBK²»ÐÐ
¡¡¡¡ByteArrayOutputStream bos = new ByteArrayOutputStream();
¡¡¡¡t.transform(new DOMSource(doc), new StreamResult(bos));
¡¡¡¡String xmlStr = bos.toString();
¡¡¡¡ÕâÀïµÄXML DOCUMENTΪorg.w3c.dom.Document
¡¡¡¡¶þ¡¢Ê¹ÓÃdom4jºó³ÌÐò±äµÃ¸ü¼òµ¥
¡¡¡¡// ×Ö·û´®×ªXML
¡¡¡¡String xmlStr = \"......\";
¡¡¡¡Document document = DocumentHelper.parseText(xmlStr);
¡¡¡¡// XMLת×Ö·û´®
¡¡¡¡Document document = ...;
¡¡¡¡String text = document.asXML();
¡¡¡¡ÕâÀïµÄXML DOCUMENTΪorg.dom4j.Document
¡¡¡¡Èý¡¢Ê¹ÓÃJDOM
¡¡¡¡JDOMµÄ´¦Àí·½Ê½ºÍµÚÒ»ÖÖ·½·¨´¦Àí·Ç³£ÀàËÆ
¡¡¡¡//×Ö·û´®×ªXML
¡¡¡¡String xmlStr = \".....\";
¡¡¡¡StringReader sr = new StringReader(xmlStr);
¡¡¡¡InputSource is = new InputSource(sr);
¡¡¡¡Document doc = (new SAXBuilder()).build(is);
¡¡¡¡//XMLת×Ö·û´®
¡¡¡¡Format format = Format.getPrettyFormat();
¡¡¡¡format.setEncoding(\"gb2312\");//ÉèÖÃxmlÎļþµÄ×Ö·ûΪgb2312£¬½â¾öÖÐÎÄÎÊÌâ
¡¡¡¡XMLOutputter xmlout = new XMLOutputter(format);
¡¡¡¡ByteArrayOutputStream bo = new ByteArrayOutputStream();
¡¡¡¡xmlout.output(doc,bo);
¡¡¡¡String xmlStr = bo.toString();
¡¡¡¡ÕâÀïµÄXML DOCUMENTΪorg.jdom.Document
¡¡¡¡ËÄ¡¢JAVASCRIPTÖеĴ¦Àí
¡¡¡¡//×Ö·û´®×ªXML
¡¡¡¡var xmlStr = \".....\";
¡¡¡¡var xmlDoc = new ActiveXObject(\"Microsoft.XMLDOM\");
¡¡¡¡xmlDoc.async=false;
¡¡¡¡xmlDoc.loadXML(xmlStr);
¡¡¡¡//¿ÉÒÔ´¦ÀíÕâ¸öxmlDocÁË
¡¡¡
Ïà¹ØÎĵµ£º
½âÎö£º
CMarkup xml;
CString strChanText, strChanType;
xml.Load("MyXml.xml");
xml.ResetMainPos();
if (!Chan.FindElem("TreeOrg"))
{
return;
}
if (xml.IntoElem())
{
xml.FindEle ......
³ö´¦£ºhttp://www.dimuthu.org/blog/2008/08/18/xml-schema-nillabletrue-vs-minoccurs0/
¡¾Ç°ÑÔ¡¿Ò»¸öÔÂǰÑо¿¹ýnillable="true"ºÍ vs minOccurs="0"µÄÇø·Ö£¬Ã»ÓÐÏëµ½°¡£¬½ñÌì¾Í¼Ç²»µÃÁË£¬¿´À´ÕæÊǺüÇÐÔ²»ÈçÀñÊÍ·°¡£¬¿öÇÒÎÒ»¹Ã´µÄºÃ¼ÇÐÔ¡£¡£¡£¡£
¡¾×ܽ᡿ӢÎÄÒ»ÑÛ¿´²»³ö½áÂÛ£¬ËµµãººÓïÖ±½ÓЩ£¬±ð˵ÎÒÍÁ¹þ~
nillable=" ......
ÊÕ²Ø
ÎÒÔøÔÚÇ°Ãæ½éÉܹýÒ»¸ö¿ÉÓÃÓÚBREW»·¾³ÏµÄXML Parser£¬½ñÌìÏë·ÖÏíµÄÊÇÈçºÎÔÚSymbianƽ̨ÉϽâÎöXMLÎļþ£¬²»ÐèÒªµÚÈý·½µÄ¶«Î÷£¬SymbianÒѾΪÎÒÃÇÌṩÁËÕâ¸öÀàCParser¡£
ÍøÉÏÒ²ÓÐÕâ·½ÃæµÄ×ÊÁÏ£¬½¨Òé²Î¿¼£º
http://wiki.forum.nokia.com/index.php/How_to_parse_XML_file_using_CParser_class
²»¹ý£¬Òª×¢ÒâµÄÊÇSymbia ......
Reviewer Approved
The following example shows how to parse XML file using Symbian OS C++ class, CParser. CParser is basically a SAX (Simple API for XML)-based XML parser.
It uses an active object to read the XML file chunk by chunk (see CXmlHandler::StartParsingWithAoL( ......
antonypr | 14 April, 2007 00:05
A couple of weeks ago, I had a plan to write an article and example code of using XML parser in Symbian OS. It seems that another Forum Nokia Champion, Paul Todd had the same idea. He posted a nice article about XML parser in Symbian OS 9.x to Forum Nokia Blogs. It's ......