Ich bin auf der Suche nach einem C-Source-Snippet XML-String fromat zu validieren. ex: Generalisierte Quelle, die auf XML-Formatierung prüft. muss einen Fehler für das Format geben. ThnxXML-Validator-Quellcode in C
Antwort
Expat ist eine weit verbreitete XML-Parsing-Bibliothek in C geschrieben. Ich habe es in vielen verschiedenen Projekten verwendet und es macht seine Arbeit gut und es ist schnell.
Während Expat großartig ist, handelt es sich um einen nicht-validierenden Parser. Sie können es verwenden, um Wohlgeformtheit zu prüfen (was vielleicht sein mag, was dusht will, siehe oben meinen Kommentar), aber wenn Sie wirklich validieren wollen, ist es wahrscheinlich besser, einen validierenden Parser zu verwenden. –
Das ist ein guter Punkt, ich hatte automatisch zwischen den Zeilen gelesen und "Formatierung" in "Wohlgeformtheit" übersetzt. –
Wenn Sie nicht wollen, um eine externe Bibliothek gehören, können Sie Ihre xml mit flex/Bison (lex/yacc) analysieren. Ein experimenteller Code ist beim w3C verfügbar: http://www.w3.org/XML/9707/XML-in-C
Ich würde vorschlagen, Apache Xerces aufzurufen, um die Well-Format und Validierung zu überprüfen. Wenn Sie die MS-Plattform verwenden, können Sie MSXML aufrufen.
- 1. Matlab in C C++ und C C++ in Matlab
- 2. Testcode in C C++
- 3. C++ Union in C#
- 4. Convert C++ in C
- 5. C/C++ in Android?
- 6. virtuelle Datei? in c/C++ oder C#
- 7. main() in C, C++, Java, C#
- 8. Einführung in C# für C/C++ - Benutzer
- 9. statisches Array in C# vs C/C++
- 10. Externe C/C++ - Bibliothek nicht in C#
- 11. C++ - Klasse in C++ DLL in C# Windows Forms Klasse
- 12. Funktionsdeklaration in C und C++
- 13. Funktionale Programmierung in C/C++?
- 14. String-Operator in C/C++
- 15. Convert C++ struct in C#
- 16. Convert C# RSACryptoServiceProvider in C++
- 17. Call C++ - Bibliothek in C#
- 18. Robuste Gesichtserkennung in C/C++?
- 19. Mathematik in C/C++ - Rundungsfrage
- 20. lange lange in C/C++
- 21. mit scanf in C/C++
- 22. Aufruf C# DLL in C++
- 23. C Komplexe Zahlen in C++?
- 24. #define Verwendung in C/C++
- 25. Numerische Konvertierung in C/C++
- 26. C-String Vergleichsproblem in C++
- 27. Kompiliere C# in objective-C
- 28. (c = getchar())! = EOF in C#?
- 29. Quaternion-Bibliotheken in C/C++
- 30. Referenzieren/Dereferenzieren in C/C++
Meinst du validieren oder auf Wohlgeformtheit prüfen? "validieren" hat eine spezifische Bedeutung im Kontext von XML (dh: überprüfe, ob das XML einem Schema oder einer DTD entspricht). –