Ho un grande documento xml in una stringa. Qual è il modo migliore per determinare se l'xml è ben formato?Come determinare se XML è ben formato?
7
A
risposta
13
Qualcosa di simile:
static void Main() {
Test("<abc><def/></abc>");
Test("<abc><def/><abc>");
}
static void Test(string xml) {
using (XmlReader xr = XmlReader.Create(
new StringReader(xml))) {
try {
while (xr.Read()) { }
Console.WriteLine("Pass");
} catch (Exception ex) {
Console.WriteLine("Fail: " + ex.Message);
}
}
}
Se avete bisogno di controllare contro una XSD, quindi utilizzare XmlReaderSettings
.
4
Basta eseguirlo con un parser. Questo eseguirà i controlli appropriati (se analizza ok).
Se è un documento di grandi dimensioni (come indicato), un parser basato su eventi (ad esempio SAX) sarà appropriato poiché non memorizzerà il documento in memoria.
È spesso utile disporre di utilità XML in giro per controllare questo tipo di cose. Io uso XMLStarlet, che è un insieme di strumenti da riga di comando per controllo/manipolazione XML.
3
XmlReader sembra una buona scelta come dovrebbe trasmettere i dati (non caricare l'intero xml in una volta sola)
1
Prova ad utilizzare un XmlReader con una XmlReaderSettings che ha ConformanceLevel .Document set.
Problemi correlati
- 1. Errore di analisi XML: non ben formato
- 2. Il file di configurazione non è ben formato XML # 2
- 3. Analisi XML in Python: expaterror non ben formato
- 4. Il markup deve essere ben formato
- 5. Come capire se una stringa è xml?
- 6. Come leggere XML ben formato in Java, ma saltare lo schema?
- 7. Scrittura di una VM - bytecode ben formato?
- 8. è `* - p` realtà legale (ben formato) in C++ 03
- 9. L'int main (int, char const * const *) è ben formato?
- 10. Come disattivare la convalida durante l'analisi di XML ben formato utilizzando DocumentBuilder.parse?
- 11. Determinare se NSNumber è NaN
- 12. Come determinare se l'URL è un'immagine?
- 13. Come determinare se Type è una struct?
- 14. Come determinare se un poliedro è convesso?
- 15. Come determinare se l'assemblaggio è stato annullato?
- 16. Determinare se Any.Type è facoltativo
- 17. Come produrre codice XML ben formattato in Scala?
- 18. XML Parsing Error: non ben formato in FireFox ma buono in Chrome
- 19. Risposta al sapone, XML non ben formato, senza parti XOP localizzate, utilizzando WSE
- 20. Errore XML ben formato durante il salvataggio della web part condivisa tramite Web 2.0
- 21. Modo efficiente di costruire un documento XML da una stringa contenente XML ben formato per la navigazione?
- 22. Determinare se memorizzare i dati XML come XML o in tabelle normalizzate
- 23. errore: Errore nell'analisi di XML: non ben formato (token non valido) ...?
- 24. Test unità rubino: si tratta di un documento XML valido (ben formato)?
- 25. Python restituisce l'errore "Non ben formato xml" a causa della presenza di caratteri "&"
- 26. PHP XML CURL HTTP Formato XML
- 27. Come determinare se GraphicsEnvironment esiste
- 28. C# Come determinare se HTTPS
- 29. formato XML, piuttosto stampa
- 30. Determinare se un tipo è statico