本文整理汇总了C++中dom::Node::nodeValue方法的典型用法代码示例。如果您正苦于以下问题:C++ Node::nodeValue方法的具体用法?C++ Node::nodeValue怎么用?C++ Node::nodeValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类dom::Node
的用法示例。
在下文中一共展示了Node::nodeValue方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: extractCard
void KonqMFIcon::extractCard(DOM::Node node) {
QString name, value;
DOM::NodeList nodes = node.childNodes();
unsigned int n = nodes.length();
value += "BEGIN:VCARD\nVERSION:3.0\n";
for (unsigned int i = 0; i < n; ++i) {
DOM::Node node = nodes.item(i);
DOM::NamedNodeMap map = node.attributes();
for (unsigned int j = 0; j < map.length(); ++j) {
if (map.item(j).nodeName().string() != "class") {
continue;
}
QStringList l = QStringList::split(' ', map.item(j).nodeValue().string());
for (QStringList::ConstIterator it = l.begin(); it != l.end(); ++it) {
if (*it == "photo") {
} else if (*it == "adr") {
value += "ADR:" + extractAddress(node) + "\n";
} else if (*it == "tel") {
value += "TEL;TYPE=VOICE:" + textForNode(node) + "\n";
} else if (*it == "fn") {
name = textForNode(node);
value += "FN:" + name + "\n";
} else if (*it == "url") {
DOM::Node at = node.attributes().getNamedItem("href");
if (!at.isNull()) {
value += "URL:" + at.nodeValue().string().stripWhiteSpace() + "\n";
}
} else if (*it == "email") {
DOM::Node at = node.attributes().getNamedItem("href");
if (!at.isNull()) {
QString v = at.nodeValue().string();
if (v.startsWith("mailto:")) {
v = v.mid(7);
}
value += "EMAIL:" + v.stripWhiteSpace() + "\n";
}
} else if (*it == "org") {
value += "ORG:" + textForNode(node) + "\n";
}
}
}
}
if (!name.isEmpty()) {
value += "END:VCARD\n";
_cards.append(qMakePair(name, value));
}
}
示例2: extractEvent
void KonqMFIcon::extractEvent(DOM::Node node) {
QString name, value = "BEGIN:VCALENDAR\nPRODID:-//Konqueror//EN\nVERSION:2.0\nBEGIN:VEVENT\n";
DOM::NodeList nodes = node.childNodes();
unsigned int n = nodes.length();
for (unsigned int i = 0; i < n; ++i) {
DOM::Node node = nodes.item(i);
DOM::NamedNodeMap map = node.attributes();
for (unsigned int j = 0; j < map.length(); ++j) {
if (map.item(j).nodeName().string() != "class") {
continue;
}
QStringList l = QStringList::split(' ', map.item(j).nodeValue().string());
for (QStringList::ConstIterator it = l.begin(); it != l.end(); ++it) {
if (*it == "url") {
DOM::Node at = node.attributes().getNamedItem("href");
if (!at.isNull()) {
value += "URL:" + at.nodeValue().string().stripWhiteSpace() + "\n";
}
} else if (*it == "dtstart") {
DOM::Node at = node.attributes().getNamedItem("title");
if (!at.isNull()) {
value += "DTSTART:" + at.nodeValue().string().stripWhiteSpace() + "\n";
}
} else if (*it == "dtend") {
DOM::Node at = node.attributes().getNamedItem("title");
if (!at.isNull()) {
value += "DTEND:" + at.nodeValue().string().stripWhiteSpace() + "\n";
}
} else if (*it == "summary") {
name = textForNode(node);
value += "SUMMARY:" + name + "\n";
} else if (*it == "location") {
value += "LOCATION:" + textForNode(node) + "\n";
}
}
}
}
if (!name.isEmpty()) {
value += "END:VEVENT\nEND:VCALENDAR\n";
_events.append(qMakePair(name, value));
}
}
示例3: textForNode
static QString textForNode(DOM::Node node) {
QString rc;
DOM::NodeList nl = node.childNodes();
for (unsigned int i = 0; i < nl.length(); ++i) {
DOM::Node n = nl.item(i);
if (n.nodeType() == DOM::Node::TEXT_NODE) {
rc += n.nodeValue().string();
}
}
// FIXME: entries need to be escaped for vcard/vevent
return rc.stripWhiteSpace();
}
示例4: deleteSubTree
void EnhancedTagAttributeTree::deleteSubTree()
{
QuantaView *view = ViewManager::ref()->activeView();
if(!curNode || !view->document())
return;
Node *oldCurNode;
NodeModifsSet *modifs;
int curLine, curCol;
long offset;
DOM::Node domNode;
QValueList<int> loc;
//Save the cursor position in kafka/quanta
if(view->hadLastFocus() == QuantaView::SourceFocus)
curNode->tag->beginPos(curLine, curCol);
else
{
KafkaDocument::ref()->getKafkaWidget()->getCurrentNode(domNode, offset);
if(!domNode.previousSibling().isNull())
domNode = domNode.previousSibling();
else if(!domNode.parentNode().isNull())
domNode = domNode.parentNode();
else
domNode = KafkaDocument::ref()->getKafkaWidget()->document();
if(domNode.nodeType() == DOM::Node::TEXT_NODE)
offset = domNode.nodeValue().length();
else
offset = 0;
loc = kafkaCommon::getLocation(domNode);
}
//Remove the Nodes
oldCurNode = curNode;
curNode = 0L;
attrTree->setCurrentNode(curNode);
modifs = new NodeModifsSet();
kafkaCommon::extractAndDeleteNode(oldCurNode, modifs);
view->document()->docUndoRedo->addNewModifsSet(modifs, undoRedo::NodeTreeModif);
//set the cursor position in kafka/quanta
if(view->hadLastFocus() == QuantaView::SourceFocus)
view->document()->viewCursorIf->setCursorPositionReal((uint)curLine, (uint)curCol);
else
{
domNode = kafkaCommon::getNodeFromLocation(loc,
KafkaDocument::ref()->getKafkaWidget()->document());
KafkaDocument::ref()->getKafkaWidget()->setCurrentNode(domNode, offset);
}
}
示例5: KUrl
LinkItem::LinkItem( DOM::Element link )
: m_valid( false )
{
DOM::NamedNodeMap attrs = link.attributes();
DOM::Node href = attrs.getNamedItem( "href" );
// Load source address of images too
DOM::Node src = attrs.getNamedItem( "src" );
if ( href.nodeValue().string().isEmpty() && !src.nodeValue().string().isEmpty() )
href = src;
// qDebug("*** href: %s", href.nodeValue().string().latin1() );
QString urlString = link.ownerDocument().completeURL( href.nodeValue() ).string();
if ( urlString.isEmpty() )
return;
url = KUrl( urlString );
if ( !KProtocolManager::supportsReading( url ) )
return;
// somehow getElementsByTagName("#text") doesn't work :(
DOM::NodeList children = link.childNodes();
for ( uint i = 0; i < children.length(); i++ )
{
DOM::Node node = children.item( i );
if ( node.nodeType() == DOM::Node::TEXT_NODE )
text.append( node.nodeValue().string() );
}
// force "local file" mimetype determination
KMimeType::Ptr mt = KMimeType::findByUrl( url, 0, true, true);
icon = mt->iconName();
mimeType = mt->comment();
m_valid = true;
}
示例6: saveRecursive
void DOMTreeView::saveRecursive(const DOM::Node &pNode, int indent)
{
const QString nodeName(pNode.nodeName().string());
QString text;
QString strIndent;
strIndent.fill(' ', indent);
const DOM::Element element = static_cast<const DOM::Element>(pNode);
text = strIndent;
if ( !element.isNull() ) {
if (nodeName.at(0)=='-') {
/* Don't save khtml internal tags '-konq..'
* Approximating it with <DIV>
*/
text += "<DIV> <!-- -KONG_BLOCK -->";
} else {
text += "<" + nodeName;
QString attributes;
DOM::Attr attr;
const DOM::NamedNodeMap attrs = element.attributes();
unsigned long lmap = attrs.length();
for( uint j=0; j<lmap; j++ ) {
attr = static_cast<DOM::Attr>(attrs.item(j));
attributes += " " + attr.name().string() + "=\"" + attr.value().string() + "\"";
}
if (!(attributes.isEmpty())){
text += " ";
}
text += attributes.simplifyWhiteSpace();
if(element.firstChild().isNull()) {
text += "/>";
} else {
text += ">";
}
}
} else {
text = strIndent + pNode.nodeValue().string();
}
kdDebug(90180) << text << endl;
if (!(text.isEmpty())) {
(*m_textStream) << text << endl;
}
DOM::Node child = pNode.firstChild();
while(!child.isNull()) {
saveRecursive(child, indent+2);
child = child.nextSibling();
}
if (!(element.isNull()) && (!(element.firstChild().isNull()))) {
if (nodeName.at(0)=='-') {
text = strIndent + "</DIV> <!-- -KONG_BLOCK -->";
} else {
text = strIndent + "</" + pNode.nodeName().string() + ">";
}
kdDebug(90180) << text << endl;
(*m_textStream) << text << endl;
}
}
示例7: addElement
void DOMTreeView::addElement ( const DOM::Node &node, DOMListViewItem *cur_item, bool isLast)
{
cur_item->setClosing(isLast);
const QString nodeName(node.nodeName().string());
QString text;
const DOM::Element element = node;
if (!element.isNull()) {
if (!m_bPure) {
if (isLast) {
text ="</";
} else {
text = "<";
}
text += nodeName;
} else {
text = nodeName;
}
if (m_bShowAttributes && !isLast) {
QString attributes;
DOM::Attr attr;
DOM::NamedNodeMap attrs = element.attributes();
unsigned long lmap = attrs.length();
for( unsigned int j=0; j<lmap; j++ ) {
attr = static_cast<DOM::Attr>(attrs.item(j));
attributes += " " + attr.name().string() + "=\"" + attr.value().string() + "\"";
}
if (!(attributes.isEmpty())) {
text += " ";
}
text += attributes.simplifyWhiteSpace();
}
if (!m_bPure) {
if(element.firstChild().isNull()) {
text += "/>";
} else {
text += ">";
}
}
cur_item->setText(0, text);
} else {
text = "`" + node.nodeValue().string() + "'";
// Hacks to deal with PRE
QTextStream ts( text, IO_ReadOnly );
while (!ts.eof()) {
const QString txt(ts.readLine());
const QFont font(KGlobalSettings::fixedFont());
cur_item->setFont( font );
cur_item->setText(0, txt);
if(node.handle()) {
m_itemdict.insert(node.handle(), cur_item);
}
DOMListViewItem *parent;
if (cur_item->parent()) {
parent = static_cast<DOMListViewItem *>(cur_item->parent());
} else {
parent = cur_item;
}
cur_item = new DOMListViewItem(node, parent, cur_item);
}
// This is one is too much
DOMListViewItem *notLastItem = static_cast<DOMListViewItem *>(cur_item->itemAbove());
delete cur_item;
cur_item = notLastItem;
}
if (m_bHighlightHTML && node.ownerDocument().isHTMLDocument()) {
highlightHTML(cur_item, nodeName);
}
}
示例8: deleteNode
void EnhancedTagAttributeTree::deleteNode()
{
QuantaView *view = ViewManager::ref()->activeView();
if(!curNode || !view->document())
return;
Node *oldCurNode, *oldCurNodeParent, *child;
QTag *oldCurNodeParentQTag;
int curLine, curCol;
long offset;
DOM::Node domNode;
QValueList<int> loc;
NodeModifsSet *modifs;
//Save the cursor position in kafka/quanta
if(view->hadLastFocus() == QuantaView::SourceFocus)
curNode->tag->beginPos(curLine, curCol);
else
{
KafkaDocument::ref()->getKafkaWidget()->getCurrentNode(domNode, offset);
if(!domNode.previousSibling().isNull())
domNode = domNode.previousSibling();
else if(!domNode.parentNode().isNull())
domNode = domNode.parentNode();
else
domNode = KafkaDocument::ref()->getKafkaWidget()->document();
if(domNode.nodeType() == DOM::Node::TEXT_NODE)
offset = domNode.nodeValue().length();
else
offset = 0;
loc = kafkaCommon::getLocation(domNode);
}
//remove the Nodes
oldCurNode = curNode;
oldCurNodeParent = curNode->parent;
curNode = 0L;
attrTree->setCurrentNode(curNode);
modifs = new NodeModifsSet();
kafkaCommon::extractAndDeleteNode(oldCurNode, modifs, false);
//Then we see if the new parent - child relationships are valid, and if not, delete the child and restart
if(oldCurNodeParent)
{
oldCurNodeParentQTag = QuantaCommon::tagFromDTD(oldCurNodeParent);
if(oldCurNodeParentQTag)
{
child = oldCurNodeParent->child;
while(child)
{
if(!oldCurNodeParentQTag->isChild(child))
{
kafkaCommon::extractAndDeleteNode(child, modifs, false);
//too lazy to get the real next node ;-)
child = oldCurNodeParent->child;
}
else
child = child->next;
}
}
}
view->document()->docUndoRedo->addNewModifsSet(modifs, undoRedo::NodeTreeModif);
//set the cursor position in kafka/quanta
if(view->hadLastFocus() == QuantaView::SourceFocus)
view->document()->viewCursorIf->setCursorPositionReal((uint)curLine, (uint)curCol);
else
{
domNode = kafkaCommon::getNodeFromLocation(loc,
KafkaDocument::ref()->getKafkaWidget()->document());
KafkaDocument::ref()->getKafkaWidget()->setCurrentNode(domNode, offset);
}
}