在Xerces-C文档中,我还没有找到如何从XML Schema创建默认文档。尽管如此,我还是尝试了以下方法:
const char XMLLinesSchema[] = /* some valid schema */;
MemBufInputSource schema_mem_buf( reinterpret_cast<const XMLByte*>(XMLLinesSchema),
sizeof(XMLLinesSchema), L"schema" );
XercesDOMParser parser;
// enable schema processing
parser.setDoSchema( true );
parser.setDoNamespaces( true );
// Let's preparse the schema grammar (.xsd) and cache it.
parser.loadGrammar( schema_mem_buf, Grammar::SchemaGrammarType, true );
parser.useCachedGrammarInParse( true );
parser.setValidationScheme( XercesDOMParser::Val_Always );
DOMDocument* doc = parser.getDocument();但是parser.getDocument返回NULL。我做错了什么?是否可以使用Xerces-C为指定的XML Schema生成最小允许的文档?
发布于 2011-09-08 17:12:56
文档中这样写道:
XML应该由选择使用DOM解析和处理
文档的应用程序使用。
您使用的是一个解析器,因此它希望通过parse(...)函数解析一些输入。您没有解析任何内容,因此将不会返回任何内容。
https://stackoverflow.com/questions/7345414
复制相似问题