Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
1datr
Зарегистрирован: 04.03.2008 Сообщения: 1
|
Добавлено: Сб Апр 04 2009 19:09 Заголовок сообщения: Трабла с SenXml, Symbian С++. S60. SenXml |
|
|
Код:
Код: |
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-евские паники ничего не написано. |
|
Вернуться к началу |
|
|
критикан
Зарегистрирован: 18.02.2005 Сообщения: 247
|
Добавлено: Пн Апр 06 2009 14:41 Заголовок сообщения: как написать в ксмле приглашение "давай встретимся на хате"? |
|
|
1datr писал(а): | Код:
Код: | {...}
TRAPD( err, xmlReader->ParseL(aBodyData));
{...} |
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-евские паники ничего не написано. |
подозреваю, что парсер xmlReader->ParseL(aBodyData) падает на строке <resp host="90.156.212.76:81" uri="/onair/register" status="200"> потому что, если я правильно помню, стандарт ксмл требует, чтобы этот тег был написан либо так (перед закрывающей угловой скобкой косая черта):<resp host="90.156.212.76:81" uri="/onair/register" status="200"/> либо так:<resp host="90.156.212.76:81" uri="/onair/register" status="200"></resp>
так как падает парсер, то и траппер уходит в нокаут -- ему парсером как раз поддых дали. 1датру проверить бы сначала, нет ли у парсера кастета, а он сразу поддых. траппер и загнулся
----------------------------
как написать в ксмл'е приглашение "давай встретимся на хате"? |
|
Вернуться к началу |
|
|
|