Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Платформы Windows Mobile и Windows Embedded > Трабла с SenXml


Автор: 1datr 3.4.2009, 19:44
Код

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-евские паники ничего не написано.

Автор: Partizan 18.4.2009, 00:24
encoding="utf-8"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)