本文整理汇总了C++中txXPathNode::isAttribute方法的典型用法代码示例。如果您正苦于以下问题:C++ txXPathNode::isAttribute方法的具体用法?C++ txXPathNode::isAttribute怎么用?C++ txXPathNode::isAttribute使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类txXPathNode
的用法示例。
在下文中一共展示了txXPathNode::isAttribute方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
/* static */
void
txXPathNodeUtils::appendNodeValue(const txXPathNode& aNode, nsAString& aResult)
{
if (aNode.isAttribute()) {
const nsAttrName* name = aNode.Content()->GetAttrNameAt(aNode.mIndex);
if (aResult.IsEmpty()) {
aNode.Content()->GetAttr(name->NamespaceID(), name->LocalName(),
aResult);
}
else {
nsAutoString result;
aNode.Content()->GetAttr(name->NamespaceID(), name->LocalName(),
result);
aResult.Append(result);
}
return;
}
if (aNode.isDocument() ||
aNode.mNode->IsElement() ||
aNode.mNode->IsNodeOfType(nsINode::eDOCUMENT_FRAGMENT)) {
nsContentUtils::AppendNodeTextContent(aNode.mNode, true, aResult);
return;
}
aNode.Content()->AppendTextTo(aResult);
}
示例2:
/* static */
nsresult
txXPathNodeUtils::getXSLTId(const txXPathNode& aNode,
nsAString& aResult)
{
if (!aNode.isAttribute()) {
CopyASCIItoUTF16(nsPrintfCString(kFmtSize, gPrintfFmt, aNode.mNode),
aResult);
}
else {
CopyASCIItoUTF16(nsPrintfCString(kFmtSizeAttr, gPrintfFmtAttr,
aNode.mNode, aNode.mIndex), aResult);
}
return NS_OK;
}
示例3: CallQueryInterface
/* static */
nsresult
txXPathNativeNode::getNode(const txXPathNode& aNode, nsIDOMNode** aResult)
{
if (!aNode.isAttribute()) {
return CallQueryInterface(aNode.mNode, aResult);
}
const nsAttrName* name = aNode.Content()->GetAttrNameAt(aNode.mIndex);
nsAutoString namespaceURI;
nsContentUtils::NameSpaceManager()->GetNameSpaceURI(name->NamespaceID(), namespaceURI);
nsCOMPtr<nsIDOMElement> element = do_QueryInterface(aNode.mNode);
nsCOMPtr<nsIDOMAttr> attr;
element->GetAttributeNodeNS(namespaceURI,
nsDependentAtomString(name->LocalName()),
getter_AddRefs(attr));
return CallQueryInterface(attr, aResult);
}