我想在目标c中对xml进行验证。目标c中是否有任何规定或方法来检查给定的xml是否有效?
答案 0 :(得分:3)
您还可以使用以下unix命令验证XML:
xmllint --noout --schema test.xsd test.xml
编辑:
请尝试以下代码:
NSXMLDocument *doc = [[NSXMLDocument alloc] initWithData:urlData options:0 error:&error];
NSArray* tempArray = [doc nodesForXPath:@"path/to/the/xml" error:&error];
我希望这会有所帮助。
答案 1 :(得分:3)
使用NSXMLDocument:
NSError *err;
NSXMLDocument *xmlDoc = [[NSXMLDocument alloc] initWithContentsOfURL:furl options:(NSXMLDocumentValidate | NSXMLNodePreserveAll)
error:&err];
BOOL vaildXML = [xmlDoc validateAndReturnError:&err];
NSLog(@"Error : %@",[err description]);
对于ios,请使用 NSXMLParser
如果 NSXMLParser 发现错误,它不会崩溃,它会通过调用解析器:validationErrorOccurred:或 - 解析器通过其委托让您知道:parseErrorOccurred:即可。您可以使用NSXMLParser中的 - (NSError *)parserError 来确定导致解析终止的错误。