C使用STD解析XML

C使用STD解析XML,第1张

概述我知道有几个 XML库,但不幸的是,我无法将它们用于我正在研究的学校项目. 我有一个创建此XML文件的程序. <theKey><theValue>23432</theValue></theKey> 我想要做的是解析标签之间的“23432”.但是,文件中有随机标记,因此可能并不总是位于顶部的第二行.另外,我不知道标签之间的数字是多少位数. 这是我到目前为止开发的代码.它是基本的,因为我不知道我可 我知道有几个 XML库,但不幸的是,我无法将它们用于我正在研究的学校项目.

我有一个创建此XML文件的程序.

<theKey><theValue>23432</theValue></theKey>

我想要做的是解析标签之间的“23432”.但是,文件中有随机标记,因此可能并不总是位于顶部的第二行.另外,我不知道标签之间的数字是多少位数.

这是我到目前为止开发的代码.它是基本的,因为我不知道我可以使用哪些是将解析值的C语言的一部分.我在使用JAVA时的暗示是使用“字符串”库中的一些东西,但到目前为止,我对我可以使用的东西很缺乏.

任何人都可以给我指导或线索我可以做什么/使用什么?非常感谢.

这是我到目前为止开发的代码:

#include <iostream>#include <fstream>#include <string>using std::cout;using std::cin;using std::endl;using std::fstream;using std::string;using std::ifstream;int main(){ ifstream infile; infile.open("theXML.xml"); if (!infile) { } string x; while (infile >> x) {  cout << x << endl; } infile.close(); system ( "PAUSE" ); return 0;}
解决方法 要解析任意XML,您确实需要一个合适的XML解析器.当你包含语言的所有字符模型角落和DTD相关的缝隙时,解析起来并不简单,编写一个只能理解XML的任意子集的解析器是一个可怕的错误.

在现实世界中,使用除了适当的XML解析器库之外的任何东西来实现它是错误的.如果您不能使用库而您无法将程序的输出格式更改为更容易解析的内容(例如,换行分隔的键/值对),那么您将处于难以为继的位置.任何要求您在没有XML解析器的情况下解析XML的学校项目都是完全错误的.

(好吧,除非项目的重点是在C中编写XML解析器.但这将是一个非常残酷的任务.)

总结

以上是内存溢出为你收集整理的C使用STD解析XML全部内容,希望文章能够帮你解决C使用STD解析XML所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1221796.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存