为了替换XML文件的一部分,我使用的是QDomNode类:
但是当我这样做时,我得到了一个可怕的结果:我添加的节点的每一行都以这些字符结尾
<?xml version='1.0'?>
<scene>
<material>
<uid>50000006</uid>
<name>NEW_NODE</name>
/
.7
\ , //
|\.--._/|//
/\ ) ) ).'/
/( \ // /
/( J`((_/ \
/ ) | _\ /
/|) \ eJ L
| \ L \ L L
/ \ J `. J L
| ) L \/ \
/ \ J (\ /
| \ \ \```
</material>
</scene>
我想知道如何在每个新行的末尾插入没有这些字符的节点。
以下是我在XML文件中插入新数据的方法:
// ADD A NEW DATA
void ParserIGS::addNewElement(QDomElement element, QDomElement oldElement)
{
// Insert the new element before the old one
oldElement.parentNode().insertBefore(element,oldElement);
// Verify if the new material had an UID child
QDomNodeList elementNodeList = element.elementsByTagName("uid");
QDomNode n = oldElement.elementsByTagName("uid").at(0);
if(elementNodeList.isEmpty()) // Creation of uid tag as firstChild
element.insertBefore(n, element.firstChild());
else
element.replaceChild(n, element.firstChild());
}