2

我有一个使用 Xerces-C 作为主要 xml 操作库的 c++ 应用程序。

我有我的 DOMDocument* 和我的解析器,我想设置声明。

我执行以下操作:

parser->setValidationScheme(xercesc::XercesDOMParser::Val_Never);
parser->setDoSchema(false);
parser->setLoadExternalDTD(false);

我想补充:

<?xml-stylesheet type="text/xsl" href="my_xslt.xsl"?>

我该怎么做?

4

2 回答 2

1

您需要在 DOMDocument http://xerces.apache.org/xerces-c/apiDocs-3/classDOMDocument.html#ce898787ba20c00c85be63f28a358507上使用 createProcessingInstruction

创建完成后,将其附加到 DocumentElement。

于 2011-01-20T22:48:44.530 回答
0

这是执行此操作的代码:

xercesc::DomDocument *doc;
// ... (initialize doc in some way)
auto root = doc->getDocumentElement();
auto stylesheet = doc->createProcessingInstruction
  (X("xml-stylesheet"), X("type=\"text/xsl\" href=\"custom.xsl\""));
doc->insertBefore(stylesheet, root);

这样,样式表信息就会出现在文档的 prolog 中,这是它的典型位置。X()是一些将 C 风格的字符串编码为 Xerces 兼容字符串的函数XMLCh

于 2018-06-09T22:40:41.600 回答