我必须解析XML消息的TXT文件并将ID值保存在另一个文件中。我可以使用find函数访问<ID>
标记。但是如何获得价值,价值的长度也各不相同。
<note>
<to>Tove</to>
<from>Jani</from>
<ID>Fx12345</ID>
<body>Don't forget me this weekend!</body>
</note>
<note>
<to>Tove</to>
<from>Alex</from>
<ID>Fx1236785</ID>
<body>Don't forget me this weekend!</body>
</note>
我正在使用这种方法
while (!fileInput.eof()) {
getline(fileInput, line);
if ((offset = line.find("<ID>", 0)) != string::npos) {
// How to get only value
}
}
答案 0 :(得分:4)
string::find()
有一个重载,指定开始搜索的位置。因此,只需从<ID>
结束开始第二次搜索,即可查找</ID>
。你是在两者之间发生的事情。非常简单。
然而,正如其他地方所建议的,那里有很多XML解析器。如果输入文件可能有一些变化,建议使用完整的XML解析器。