Код | void Ca_RegisterView::HandleWebClient1BodyReceivedL( CWebClientEngine& anEngine, const TDesC8& aBodyData) { // Create the xml reader and DOM fragment and associate them with each other CSenXmlReader* xmlReader= CSenXmlReader::NewL(); CleanupStack::PushL(xmlReader); CSenDomFragment* domFragment= CSenDomFragment::NewL(); CleanupStack::PushL(domFragment); xmlReader->SetContentHandler(*domFragment); domFragment->SetReader(*xmlReader); // Parse the xml into the domfragment //open a filesession TRAPD( err, xmlReader->ParseL(aBodyData)); // Get the tracks as an array of elements _LIT8(KResp,"resp"); RPointerArray<CSenElement>& xmlDocument = domFragment->AsElement().Element(KResp)->ElementsL(); const TInt Count(xmlDocument.Count()); for (TInt i(0) ; i < Count; ++i) {// Get this tracks details } CleanupStack::PopAndDestroy(2, xmlReader); RunListQuery2L(); }
|
XML-код aBodyData
Код | <?xml version="1.0" encoding="utf8"?> <resp host="90.156.212.76:81" uri="/onair/register" status="200"> <login from="79.133.138.249" at="NOW()">the1d</login> </resp>
|
Почему-то симулятор вылетает на строке "TRAPD( err, xmlReader->ParseL(aBodyData));", а без TRAPD просто останавливается на этой строке. Обнаружено, что при вызове "TRAPD( err, xmlReader->ParseL(aBodyData));" происходит Panic SenXml 4. Но что это за panic? В документации про senxml-евские паники ничего не написано. |