XML 错误:不允许空的 XML 命名空间

问题描述 投票:0回答:1

我正在尝试使用 matlab 读取网页(这是字典网页)并使用 extractHTMLText 将 html 数据转换为文本以获取一些信息,但 MATLAB 给出了此错误: “XML 中的错误:不允许使用空的 XML 命名空间。” 由于我不是专业的程序员,所以我不熟悉命名空间及其错误。 代码:

    url='https://www.vocabulary.com/dictionary/river';
    options = weboptions('Timeout', 10);
    code = webread(url,options);
    textData = extractHTMLText(code);

完全错误(测试是我的脚本名称):

    Error using htmlTree (line 67)
    Error in XML: xmlns:fb: Empty XML namespace is not allowed
    
    Error in extractHTMLText (line 40)
    tree = htmlTree(code);
    
    Error in test (line 12)
    textData = extractHTMLText(code)

如您所见,MATLAB仅在读取网页的文本分析部分出现问题(空命名空间错误)。

谁能帮我解决这个错误?谢谢。

注意:我检查了“代码”变量以查看 webread 函数是否正常工作,然后在命令窗口中打印了该变量。该变量包含 HTML 代码,这意味着 HTML 代码可能没有问题。

html xml matlab namespaces xml-namespaces
1个回答
0
投票

如果你用curl查看网页内容,你会看到它开始:

<!DOCTYPE html>
<html lang="en-US" xmlns:vcom xmlns:fb>
<head>  

这不是格式正确的 XML - 属性必须有一个名称和一个值 - 所以如果你试图用 XML 解析器解析它,你会得到一个错误。

© www.soinside.com 2019 - 2024. All rights reserved.