加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C使用STD解析XML

发布时间:2020-12-16 10:39:15 所属栏目:百科 来源:网络整理
导读:我知道有几个 XML库,但不幸的是,我无法将它们用于我正在研究的学校项目. 我有一个创建此XML文件的程序. theKeytheValue23432/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解析器.但这将是一个非常残酷的任务.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读