我正在尝试使用 setContent 将我的 XML 文件设置为 QDomDocument,但它返回错误。
我的 XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<Tag1>
<Attribute1>5</Attribute1>
<Attribute2>5</Attribute2>
</Tag1>
<Settings\it.server.com>
<Attribute1>1</Attribute1>
</Settings\it.server.com>
</root>
这是我的代码片段:
QFile file(fileName);
if (file.open(QIODevice::ReadOnly)) {
QDomDocument domDocument;
QString errorStr;
int errorLine;
int errorColumn;
if (!domDocument.setContent(&file, false, &errorStr, &errorLine, &errorColumn))
qDebug() << errorStr << errorLine << errorColumn;
}
我运行时收到的错误消息如下:
错误:解析元素 7 11 时发生错误
其中行 = 7,列 = 11。
现在我很确定这可能是因为“\”或“。” 标签(Settings\it.server.com)中可能导致它失败的字符。无法更改 XML,因为它来自外部源。无论如何,我的问题是使用 QDomDocument 吗?
我研究了 QXmlStreamReader 和 Writer 但我还没有弄清楚如何更新属性。QDomDocument 对此有更好的工具。