如何确保XML格式正确?标签是正确嵌套的,XML是有序的。
警告:没有辅助函数,实现验证XML正确的函数。
示例:
<person>> //extra closing tags
<sex>>female</se>x>
<firstname>Amy</firstname>
<lastnam>e>Smith</lastnam>e>
</person>>
在研究了一些解决方案之后,我尝试使用堆栈来解决这个问题,但是如果左右标签的数量相同,那么实现将失败 - 如上例所示。
虽然从堆栈中检索左右标签的数量相同但XML不正确,这意味着标签位置错误。
答案 0 :(得分:1)
正如Jeff Mercado建议的那样,只需使用xml解析器。
你可以直接谷歌C++ xml parsers
找到所需的一切,但我确实喜欢SO What XML parser should I use in C++?的其他帖子的演示文稿
答案 1 :(得分:-1)
我认为你是对的,你必须使用堆栈方法来做,但是对于你提到的例子:
你应该计算“&lt;”的数字和“&gt;”在运行代码之前保持平等。
如果“&lt;”的数量不等于“&gt;”的数量表示Xml内容无效