[ASP.NET; C#] XML Validaten _zonder_ XSD of DTD oid

Pagina: 1
Acties:

  • hwschuur
  • Registratie: April 2003
  • Laatst online: 07-11-2024
Ik heb een string die XML bevat. Van deze string wil ik weten of hij well-formed is (maw, alle open-tags moeten ook afgesloten worden). In Visual Studio kun je met een XMLValidatingReader XML valideren adhv een XSD, DTD of XDR. Geen van deze documenten heb ik echter (dit is volgens mij ook niet nodig, ik hoef alleen te weten of de XML well-formed is; niet of de XML aan allerlei andere voorwaarden voldoet).

Gelukkig kun je bij de XMLValidatingReader ook ValidationType.None opgeven; alleen betwijfel ik of dat doet wat ik wil:
Parses the XML without validation. No exception is thrown. No type information is supplied.
..

Dus dat schiet volgens mij ook niet echt op. Ik heb dus al gezocht via MSDN; hier spreekt men vrijwel alleen over valideren tegen een XSD e.d... Verder heb ik ook iets gelezen over DOM-documenten maar dat bood ook niet echt 100% duidelijkheid. Verder uiteraard ook gezocht via de search. Heeft iemand hier ervaring mee?? Dus; hoe kan ik checken of de XML in een string well-formed is?

[ Voor 3% gewijzigd door hwschuur op 30-09-2003 20:53 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • hwschuur
  • Registratie: April 2003
  • Laatst online: 07-11-2024
Ehm neej, ik zie onderaan in de code al staan:

Visual Basic .NET:
1
xsd.ValidationType = ValidationType.Schema
terwijl ik dus juist géén schema, DTD of XDR heb. Ik heb alleen een string die XML bevat; en ik wil weten of deze xml well-formed is.

(daarbij heb ik dus geen .xml-file maar een string; maar dat maakt op zich geen reet uit, dat is wel te converten enzo).

[ Voor 21% gewijzigd door hwschuur op 30-09-2003 21:02 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Visual Basic .NET:
1
2
'so you just want to see if your XML is well formed? 
xsd.ValidationType = ValidationType.None

Uit de link. Link lijkt me een generieke XML-handler te zijn.. Maar goed, geen idee verder.. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Als je gewoon wilt checken of de Xml well-formed is, dan heb je zelfs geen XmlValidatingReader nodig.
Je kan de xml-file gewoon inlezen in een XmlDocument of een XmlDataDocument. Als die xml(-file) niet well-formed is, dan gaat de Load (of de LoadXml) method ook een exceptie gooien. (Een XmlException)

https://fgheysels.github.io/


  • hwschuur
  • Registratie: April 2003
  • Laatst online: 07-11-2024
kijk dat zou de oplossing kunnen zijn... ik neem aan dat strings ook in te lezen zijn in XMLDocuments. whoami, thanks again _/-\o_

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
AppleWatcher schreef op 30 september 2003 @ 21:21:
kijk dat zou de oplossing kunnen zijn... ik neem aan dat strings ook in te lezen zijn in XMLDocuments. whoami, thanks again _/-\o_
LoadXml en Load method moet je eens bekijken. ;)

Met Load specifieer je een filename die je wilt inlezen, met Load geef je zelf een xml-document op als string:

code:
1
2
3
4
XmlDocument xdoc = new XmlDocument();
xdoc.LoadXml("<users><nick>whoami</nick>" + 
"<nick>gorgi_19</nick>" + 
"<nick>AppleWatcher</users>");

[ Voor 34% gewijzigd door whoami op 30-09-2003 21:26 ]

https://fgheysels.github.io/


  • hwschuur
  • Registratie: April 2003
  • Laatst online: 07-11-2024
en als het goed is throwt LoadXml() dus een fijne exceptie want die XML is dus niet well-formed B)

;)

[ Voor 6% gewijzigd door hwschuur op 30-09-2003 22:55 ]

Pagina: 1