2010年6月14日 星期一

修改 domdoc element 是 QDomText 裡的文字

這是從 Qt-4.6.2/examples/xml/dombookmarks/xbeltree.cpp 挖出來的 code。
示範如何修改 QDomText。紅色部份即是, 出乎意料之外, 沒有類似 setText()
的 funcion, 需要使用 replaceChild() function 來完成, 並不容易。

void XbelTree::updateDomElement(QTreeWidgetItem *item, int column)
{
QDomElement element = domElementForItem.value(item);
if (!element.isNull()) {
if (column == 0) {
QDomElement oldTitleElement = element.firstChildElement("title");
QDomElement newTitleElement = domDocument.createElement("title");

QDomText newTitleText = domDocument.createTextNode(item->text(0));
newTitleElement.appendChild(newTitleText);

element.replaceChild(newTitleElement, oldTitleElement);
} else {
if (element.tagName() == "bookmark")
element.setAttribute("href", item->text(1));
}
}}

沒有留言:

張貼留言

使用 google 的 reCAPTCHA 驗證碼, 總算可以輕鬆留言了。

我實在受不了 spam 了, 又不想讓大家的眼睛花掉, 只好放棄匿名留言。這是沒辦法中的辦法了。留言的朋友需要有 google 帳號。