如何在OPA中解析DOM?

时间:2011-08-28 02:30:24

标签: opa

我刚刚开始使用OPA,我想解析一个DOM,但我只能通过id获取元素,例如Dom.get_value(#an_id)。如果我有一个类似于教程中聊天示例中的布局,那该怎么办?

    <div class="line">
      <div class="user">{x.author}:</div>
      <div class="message">{x.text}</div>
    </div>

如何获取消息div中的文本?我尝试过Dom.get_value(Dom.select_class(“line”)。select_class(“message”)),但是我收到了这个错误:

    Error
    File "chat.opa", line 29, characters 49-62, (29:49-29:62 | 714-727)
    Record expression has type dom but field access expected it to have type
    { select_class: 'a; 'r.a }.

1 个答案:

答案 0 :(得分:4)

第一:

Dom.get_value仅适用于inputtextarea代码。

在您的情况下,您应该在div上致电Dom.get_text

但是,如果您想获取内容而不想知道是否有输入/ textarea,请使用Dom.get_content

此外,你做不到:

  

Dom.select_class( “线”)。select_class( “消息”))

你可以这样做:

  

Dom.select_class( “消息”)

  

Dom.select_raw(“。line&gt; .message”)