【问题标题】:libxml2 get xsd definition for nodelibxml2 获取节点的 xsd 定义
【发布时间】:2020-09-16 03:29:10
【问题描述】:

我有一个 .xml 文件和 .xsd 使用 libxml2 解析和验证文件后,如何从模式中获取节点定义(限制、注释...)?

xmlInitParser();
xmlSchemaPtr schema = NULL;
xmlSchemaParserCtxtPtr schema_parser_ctxt = NULL;
int has_schema_errors = 0;
int ret = -1;
xmlSchemaValidCtxtPtr valid_ctxt = NULL;
schema_parser_ctxt = xmlSchemaNewParserCtxt("test.xsd");
xmlTextReaderPtr reader = NULL;
const char* filename = "file.xml";
reader = xmlReaderForFile(filename, NULL, 0);

if (reader != NULL)
{
    if (valid_ctxt)
        xmlTextReaderSchemaValidateCtxt(reader, valid_ctxt, 0);
    ret = xmlTextReaderRead(reader);
    while (ret == 1 && !has_schema_errors)
    {
        ret = xmlTextReaderRead(reader);
        xmlNodePtr node;
        node = xmlTextReaderCurrentNode(reader);
        // here i want get node definition from xsd

    }
}

【问题讨论】:

    标签: xsd libxml2


    【解决方案1】:

    这在 libxml2 中是不可能的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-08
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 2021-02-08
      • 1970-01-01
      相关资源
      最近更新 更多