[TinyXML] Odczyt danych z XML
Ostatnio zmodyfikowano 2017-09-11 14:40
PL_Andrev Temat założony przez niniejszego użytkownika |
[TinyXML] Odczyt danych z XML » 2017-09-11 10:36:16 Witam, Mam problem: nie jestem w stanie odczytać danych z pliku XML i nie jestem w stanie stwierdzić powodów błędu. Kod jest żywcem przeniesiony z przykładu 3 z dokumentacji. Błąd typu "Object reference not set to an instance of an object" w pliku tinyxml2.cpp. Będę wdzięczny za jakiekolwiek podpowiedzi, sugestie czy komentarze. XML: <? xml version = "1.0" encoding = "utf-8" ?> "<!DOCTYPE PLAY SYSTEM \"play.dtd\">" < PLAY > < TITLE > A Midsummer Night 's Dream</TITLE> </ PLAY >
Kod: #include <iostream> #include <conio.h>
#include "stdafx.h" #include "tinyxml2.h"
using namespace System; using namespace tinyxml2;
int main( array < System::String ^> ^ args ) { Console::WriteLine( L"Trying read XML doc" ); const char * data = "PLAY"; XMLDocument doc; doc.LoadFile( "C:\test.xml" ); XMLElement * titleElement = doc.FirstChildElement( "PLAY" )->FirstChildElement( "TITLE" ); Console::WriteLine( L"Enter the XML" ); const char * title = titleElement->GetText(); printf( "Name of play (1): %s\n", title ); XMLText * textNode = titleElement->FirstChild()->ToText(); title = textNode->Value(); printf( "Name of play (2): %s\n", title ); return 0; }
|
|
Monika90 |
» 2017-09-11 11:37:57 Pewnie pliku nie udało się otworzyć, bo nie ma pliku o takiej nazwie "C:\test.xml", powinno być "C:/test.xml" - '\t' to jest znak tabulacji. Warto sprawdzać czy otwarcie pliku się udało, (dobrze zaprojektowana biblioteka rzuci wyjątek, wtedy nie trzeba sprawdzać). A w ogóle to nie jest C++. int main( array < System::String ^> ^ args )
Co to jest??? printf( "Name of play (2): %s\n", title );
printf wymaga #include <cstdio> i przedrostka std:: |
|
PL_Andrev Temat założony przez niniejszego użytkownika |
» 2017-09-11 14:09:04 Działa - pięknie dziękuję. A w ogóle to nie jest C++. |
VC++, tryb konsoli. |
|
Kinexity |
» 2017-09-11 14:40:49 Na pewno nie - to jest C++/CLI. Jesteś już chyba trzecią osobą w tym kwartale, która nie rozróżnia C++/CLI od czystego C++ i pisze temat w niewłaściwym dziale. |
|
« 1 » |