如何检查给定的xml在目标c中是有效还是无效?

时间:2012-07-11 11:30:06

标签: iphone objective-c xml-validation

我想在目标c中对xml进行验证。目标c中是否有任何规定或方法来检查给定的xml是否有效?

2 个答案:

答案 0 :(得分:3)

Here是一种方法,library

您还可以使用以下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 来确定导致解析终止的错误。

相关问题