c++ - 如何在 C++ 中读取这个 XML 文件?非标准(读取) "INVALID"XML

标签 c++ xml parsing xml-parsing

所以我遇到了这个我想用 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/

相关文章:

xml - XSLT 1.0 : remove parentheses

xml - Magento 类别页面 : Change layout of specific categories from grid mode to list mode

c# - 为什么 C# 整数输入不接受正确的值?

python - 从文本文件加载列表

c++ - 在 C++ 中使用键值

c++ - x >= 0 是否比 x > -1 更有效?

C++ 将一个参数默认为另一个参数

c++ - 编译器在构造函数中计算出的成员偏移不正确

java - Spring cvc-elt.1 : Cannot find the declaration of element 'beans' and similar problems

python - 我的语法或解析器生成工具是否存在错误?