xml - DocumentFragment 上的 XML/XSL 评估()?
问题描述
无论出于何种原因,如果我输入源 XML,评估就可以了。但是,如果我使用样式表转换 XML 并且它是 DocumentFragment,它会转到警报(“否”)。有人知道会发生什么吗?也许需要在运行评估之前转换 DocumentFragment?但是为了什么?非常感谢。
doc_trans=xsltProcessor.transformToFragment(doc_xml_source, document);
//var resultDoc=doc_xnl_source;
var resultDoc=doc_trans;
//var path = "/catalog/cd/title"
path="/html/body/table//row";
if (resultDoc.evaluate) {
alert("yes");
var nodes = rDoc.evaluate(path, resultDoc, null, XPathResult.ANY_TYPE, null);
var result = nodes.iterateNext();
while (result) {
alert(result.childNodes[0].nodeValue);
txt += result.childNodes[0].nodeValue + "<br>";
result = nodes.iterateNext();
}
} else {
alert("no");
var evaluator = new XPathEvaluator();
//DocumentFragment not a valid node type exception thrown here...
var resulty = evaluator.evaluate("//tbody/tr", resultDoc, null,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE);
alert( resulty.snapshotLength);
}
解决方案
尝试使用XPathEvaluator.evaluate()
https://developer.mozilla.org/en-US/docs/Web/API/XPathEvaluator/evaluate
推荐阅读
- dji-sdk - DJI Mobile SDK 和 DJI 模拟器
- c# - DateTime 格式以 mm:ss:HH 为单位获取时间
- abap - ALV 网格中的标题点击事件?
- function - Keras 函数式 API 和具有多个输入的损失函数
- sql - 基于 st_dwithin 条件的 BigQuery Left Join 类似于 Inner Join
- powershell - 将组成员身份从一个组复制到另一个 powershell
- macos - 在 Mac 上使用 Kotlin 和 vscode --code 有效,但 intelisense 显示 [kotlin] 未解决的参考
- rest - 订阅的微服务架构设计
- c# - 创建没有数组缩进的 JSON
- firebase - 用于服务器身份验证的 Firebase 刷新 id 令牌