2

libxmlライブラリを使用してCでいくつかのxmlファイルを解析しています。2つのxmlnodeを比較して、それらに同じデータが含まれているかどうかを確認したいと思います。そのために利用できる機能はありますか?

4

2 に答える 2

1

libxml APIのドキュメントは妥当なようであり、xmlBufGetNodeContentxmlBufContentが希望どおりに機能する可能性があることを示唆しています。

xmlNode node1, node2;
......
xmlBuf buf;
xmlChar* content1 = NULL;
xmlChar* content2 = NULL;
if (xmlBufGetNodeContent(&buf, &node1) == 0) {
    content1 = xmlBufContent(&buf);
}
if (xmlBufGetNodeContent(&buf, &node2) == 0) {
    content2 = xmlBufContent(&buf);
}
if (strcmp(content1, content2) == 0) {
    /* nodes match */
}
于 2012-12-07T11:28:25.653 に答える
0

xmlBufGetNodeContentとxmlBufContentのAPI呼び出しはもう有効ではないと思います。これらの呼び出しに関連するデータ型(xmlBufPtr)は使用できなくなったため、少なくともlibxml2ではありません。2.7.6別のAPI呼び出しxmlNodeDumpまたはxmlNodeGetContentを使用しました。それが同様の質問を持つ他の人に役立つことを願っています。

于 2019-09-26T15:17:01.917 に答える