我是 XML 的后来者 - 必须解析 XML 文件。我们公司已经在使用 xerces,所以我设法拼凑了一个示例应用程序 (SAX),它在文件中显示所有数据。但是,在解析完成后,我希望能够调用解析器或其他具有文件内部表示的实体并遍历字段/数据。
基本上我希望能够给它一些键或其他字符串并取回字符串或键/值对的集合。我没有看到。在我看来,这是一件好事。我错过了什么吗?
DOM 是在解析我想要的,还是这也不够?
Xerces 同时提供 SAX 和 DOM 处理。SAX 解析不构建模型,因此一旦解析完成,就没有什么可以检查或迭代了。DOM 处理会生成一个树结构模型,它可以为您提供所需的内容。
查看此页面中的初学者示例 YoLinux Tutorial on Parsing XML
如果使用 XercesDOMParser,在文档解析后仍然无法请求特定的键值对。我最近遇到了同样的问题,在遍历 DOM 树时,我将所有键值对存储在 STL 映射中。然后,您可以稍后在程序中从映射中请求键值对。