1

我的问题如下:

我打开一个 XML 文件:

<?xml version="1.0" encoding="UTF-8"?>
<A>
  <C>A</C>
  <D>212</D>
  <E>Test1 & Test2</E>
</A>

不能像下面这样设置内容:

xmlFile->open(QIODevice::ReadOnly|QIODevice::Text;

 QDomDocument doc("mydocument");
 if (!doc.setContent(xmlFile, &msg, &line, &col)) {
       qDebug()-><<"Failure in Column: "<<(QString)col<<"  Line: "+(QString)line;
       return false;
   }

如果我从 XML 文件中删除 & 我可以设置内容。

为什么?

4

1 回答 1

2

这是无效的 XML。您应该用实体替换 &&amp; 例如:

<?xml version="1.0" encoding="UTF-8"?>
<A>
<C>A</C>
<D>212</D>
<E>Test1 &amp; Test2</E>
</A>

您可以使用在线验证服务验证 XML

XML 预定义实体的列表

于 2013-01-08T09:16:17.307 回答