Xamarin.Forms:DocumentNode.Descendants在Android设备上返回null

问题描述:

我使用Xamarin.Forms和HTML Agility Pack来解析我的HTML。在Windows UWP它工作,我得到一个'a'的节点,与Android目标我得到空结果。Xamarin.Forms:DocumentNode.Descendants在Android设备上返回null

我的目标是获取视频文件的名称。

var nodes = doc.DocumentNode.Descendants("a").FirstOrDefault(x => x.Attributes.Contains("class") && x.Attributes["class"].Value == "mediafallbacklink"); 

doc.DocumentNode.Descendants()。首先()为空过。

与Android设备的HTML是否存在问题?如果是这样,为什么?

<div class="no-overflow"><p><p>This is a test.</p><p><span class="mediaplugin mediaplugin_qt"> 
 
    <object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" width="400" height="315"> 
 
     <param name="pluginspage" value="http://www.apple.com/quicktime/download/"> 
 
     <param name="src" value="video_2016-06-24_19-12-25.mov"> 
 
     <param name="controller" value="true"> 
 
     <param name="loop" value="false"> 
 
     <param name="autoplay" value="false"> 
 
     <param name="autostart" value="false"> 
 
     <param name="scale" value="aspect"> 
 
     <!--[if !IE]><!--> 
 
     <object data="video_2016-06-24_19-12-25.mov" type="video/quicktime" width="400" height="315"> 
 
      <param name="src" value="video_2016-06-24_19-12-25.mov"> 
 
      <param name="pluginurl" value="http://www.apple.com/quicktime/download/"> 
 
      <param name="controller" value="true"> 
 
      <param name="loop" value="false"> 
 
      <param name="autoplay" value="false"> 
 
      <param name="autostart" value="false"> 
 
      <param name="scale" value="aspect"> 
 
     <!--<![endif]--> 
 
      <a class="mediafallbacklink" href="video_2016-06-24_19-12-25.mov">video_2016-06-24_19-12-25.mov</a> 
 
     <!--[if !IE]><!--> 
 
     </object> 
 
     <!--<![endif]--> 
 
    </object> 
 
</span><br></p><br><p></div>

我找到了一个解决方案, 'VAR节点' 是与Android设备总是空的调试,但数据是存在的。所有工作都正常。