Muszę parsować plik XML w C++. Szukałem i znalazłem bibliotekę RapidXml do tego.Jak analizować plik XML w RapidXML
Mam wątpliwości dotyczące doc.parse<0>(xml)
.
Może to być plik .xml lub musi to być string
lub char *
?
Jeśli mogę wziąć tylko string
lub char *
, to myślę, że muszę przeczytać cały plik i zapisać go w tablicy znaków i przekazać wskaźnik do funkcji?
Czy istnieje sposób, aby bezpośrednio korzystać z pliku, ponieważ będę musiał również zmienić plik XML wewnątrz kodu.
Jeśli nie jest to możliwe w RapidXML, sugerujemy inne biblioteki XML w C++.
Dzięki!
Ashd
Argument xml_document :: parse() jest zakończonym znakiem zerowym łańcuchem zawierającym xml. Musisz więc utworzyć funkcję file2string. Odczytaj plik do bufora wektorowego, a następnie przeprowadź i buforuj [0], aby przeanalizować(). –
anno
vtd-xml ma również port C++, w porównaniu z rapidXML, vtd-xml jest znacznie bardziej zgodny, stabilny i wydajny ... –