Ugrás a fő tartalomra

XML validállás

 









Python


## kivételkezelővel elkapjuk ha aparsolásnál hiba lépfel

try:
  book = ET.parse("test.xml").getroot()
except Exception as x:
  print("XML parse failed because {}".format(x))
  return



## általános xml megjelenítés

import xml.etree.ElementTree as ET
root = ET.parse(r'c:\Users\User\Documents\data\xml\kl.xml').getroot()
indent = 0
ignoreElems = ['badKey', 'badName']             # Kihagyásra jelölt tagok listája
def printRecurKl(root):                              
"""Rekurzios bejárása az XML fának."""
    global indent    
    
    if root.tag in ignoreElems:                           # Kihagyásra jelölt tagok vizsgálata
        return
    print (' '*indent + '%s: %s' % (root.tag.title(), root.attrib.get('name', root.text)))
    indent += 2                                                 #Behúzás mértéke bekapcsolás
    for elem in root.getchildren():
        printRecurKl(elem)
    indent -= 2                                                   #Behúzás mértéke kikapcsolás

printRecurKl(root)




Java

   private bool ValidateXmlWithXsd(string xmlData)
        {
            try
            {
                XmlReader schemaReader = XmlReader.Create(new StringReader(Properties.Resources.sample));
                XmlSchema schema = System.Xml.Schema.XmlSchema.Read(schemaReader, null);
                XmlReaderSettings xmlSettings = new XmlReaderSettings();
                xmlSettings.Schemas.Add(schema);
                xmlSettings.ValidationType = ValidationType.Schema;
                XmlReader xmlReader = XmlReader.Create(new StringReader(xmlData), xmlSettings);
                // Parse the file.
                while (xmlReader.Read()) ;
                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }
 

Megjegyzések