gpt4 book ai didi

node.js - xhtml 上的 Nodejs xpath 选择器不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 22:58:02 24 4
gpt4 key购买 nike

我有一个简单但格式不是很好的 html 页面,其中包含所有错误:

<HTML>
<head>
<title>Official game sheet</title>
</head>
<body class="sheet">
</BODY>
</HTML>

尝试在从此 html 解析的文档上应用 xpath//title。

const document = parse5.parse(xmlString);
const xhtml = xmlser.serializeToString(document);
const doc = new dom().parseFromString(xhtml);
const select = xpath.useNamespaces({
"x": "http://www.w3.org/1999/xhtml"
});
const nodes = select("//title", doc);
console.log(nodes);

尝试了解决方案 from here没有成功。返回的 Node 列表为空。

Here you can see the problem.

最佳答案

给你@neptune,你不需要parse5也不需要xmlser,所需要的只是xpath和xmldom。

var xpath = require('xpath');
var dom = require('xmldom').DOMParser;
var xmlString = `
<HTML>
<head>
<title>Official game sheet</title>
<custom>Here we are</custom>
<body class="sheet">
</BODY>
</HTML>`;

//const document = parse5.parse(xmlString);
//const xhtml = xmlser.serializeToString(document);
const doc = new dom().parseFromString(xmlString);
const nodes = xpath.select("//custom", doc);
//console.log(document);

console.log(nodes[0].localName + ": " + nodes[0].firstChild.data);
console.log("Node: " + nodes[0].toString());

关于node.js - xhtml 上的 Nodejs xpath 选择器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54863469/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com