所以我遇到了这个我想用 C++ 读取的 XML 文件。它的标题信息看起来很奇怪,并且有很多这样的文件。我似乎无法进行批量更改,因此我将不得不按原样阅读它。
我也愿意直接使用 ifstream 来解析它。我想提取数据和数字。其中一个文件的内容如下:
<!DOCTYPE refSeg SYSTEM "isthisthereallife.no">
<refSeg src="skjkska.doc" how="dunno" willa="25820">
<trans type="IN1" pum1="2280" pum2="2281"/>
<trans type="IN2" pum1="3495" pum2="3496"/>
<trans type="IN3" pum1="4936" pum2="4937"/>
</refSeg>
我想要“pum1”和“pum2”下的数字在单独的变量/矩阵格式/列表中。还有另一个变量中的“类型”。
最佳答案
您通过谈论“非标准”和“无效”XML 来混淆每个人。
您向我们展示的 XML 示例没有任何“非标准”内容。我们无法判断它是否“无效”——这完全取决于文件“isthisthereallife.no”中的 DTD 定义,它定义了 XML 文件允许包含哪些元素和属性。
我怀疑当您说“非标准”时,您的意思是“我以前从未见过具有 DOCTYPE 定义的 XML 文件”。
下一步取决于您是否可以找到 DTD 文件“isthisthereallife.no”,如果可以,则取决于它对允许的 XML 内容的说明。
作为提出 SO 问题的一般提示,如果某件事不起作用,您应该准确地告诉我们您做了什么以及它是如何失败的。
关于c++ - 如何在 C++ 中读取这个 XML 文件?非标准(读取) "INVALID"XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43264914/