在理解Perl中的HTML::Element文档时遇到问题

在理解Perl中的HTML::Element文档时遇到问题,perl,perl-module,Perl,Perl Module,我在查看HTML:Element文档时遇到了一种方法,根据文档说明: 在列表上下文中,返回由给定 $h及其从$h开始的所有祖先的属性和 一路往上爬 现在,根据这里给出的示例: <html lang='i-klingon'> <head><title>Pati Pata</title></head> <body> <h1 lang='la'>Stuff</h1>

我在查看
HTML:Element
文档时遇到了一种方法,根据文档说明:

在列表上下文中,返回由给定 $h及其从$h开始的所有祖先的属性和 一路往上爬

现在,根据这里给出的示例:

<html lang='i-klingon'>
     <head><title>Pati Pata</title></head>
     <body>
       <h1 lang='la'>Stuff</h1>
       <p lang='es-MX' align='center'>
         Foo bar baz <cite>Quux</cite>.
       </p>
       <p>Hooboy.</p>
     </body>
   </html>

帕蒂帕塔酒店
东西

福吧,巴兹库克斯。

好家伙

如果
$h
元素
,则列表上下文中的
$h->attr_get_i(“lang”)
将返回列表
('es-MX','i-klingon')

现在,根据我的观点,返回的列表应该是“代码”(“ES-MX”、“LA”、“i-kron”),也就是说,它也应该考虑<代码>文件< /COD>。p>


现在,为什么我在这里错了

Stuff
不是
的祖先,而是兄弟姐妹。

这里的“lang”属性是:

+-------------+------------------+
|    lang     |       path       |
+-------------+------------------+
| i-klingon   | /html            |
| la          | /html/body/h1    |
| es-MX       | /html/body/p     |
+-------------+------------------+

节点没有
作为其父节点(路径为
/html/body/p/cite
),因此
不是其祖先。这就是为什么该方法不返回它。

问题到底是什么?你为什么错了?我们不知道,这取决于你
在您的示例中不是
的祖先,因此在通过继承搜索属性时不考虑它。@choroba:问题是为什么
attr\u get\u i
没有返回
'la'
,谢谢。我总是很难理解DOM/树结构,你能给我推荐一个详细的/描述性的介绍吗。