Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 是否有任何方法可以读取非标准表格,使用无循环组织标签?_R_Xml - Fatal编程技术网

R 是否有任何方法可以读取非标准表格,使用无循环组织标签?

R 是否有任何方法可以读取非标准表格,使用无循环组织标签?,r,xml,R,Xml,据我们所知,像XML和xml2这样的解析库可以完美地读取web页面上的标准表。但是有一些表格没有表格的网格,而是组织标签,例如“和”。 现在我要面对这样一张桌子, 带有“的表标记的结构,每4个”标签组织一条记录。我使用了一个循环来解决这个问题并成功了。但我想不循环地处理它。我听说library Purr可能对这个问题有所帮助,但我不知道在这种情况下如何使用它。 我通过“XML”和“xml2”进行分析: 使用“XML”包进行分析 它似乎只有一行,但有四列。然而,事实并非如此。无法按列选择2-4“跨

据我们所知,像XML和xml2这样的解析库可以完美地读取web页面上的标准表。但是有一些表格没有表格的网格,而是组织标签,例如
。 现在我要面对这样一张桌子, 带有
的表标记的结构,每4个
标签组织一条记录。我使用了一个循环来解决这个问题并成功了。但我想不循环地处理它。我听说library Purr可能对这个问题有所帮助,但我不知道在这种情况下如何使用它。 我通过“XML”和“xml2”进行分析:

  • 使用“XML”包进行分析
  • 它似乎只有一行,但有四列。然而,事实并非如此。无法按列选择2-4“跨度”。第一个“span”占用了2列,而另一个“span”无法获取

    > val <- xmlValue(ispan$span[[1]])
    > val
    [1] "超高周疲劳裂纹萌生与初始扩展的特征尺度"
    > isuedate <- xmlValue(ispan$span[[2]])
    > isuedate
    [1] "  \r\n                  [科普文章]"
    > isuedate <- xmlValue(ispan$span[[3]])
    > isuedate
    [1] NA
    > author <- xmlValue(ispan$span[[4]])
    > author
    [1] NA
    None of the selection method used in list works:
    > title <- xmlValue(ispan$span[1,1])
    
    >val
    [1] "超高周疲劳裂纹萌生与初始扩展的特征尺度"
    >isuedate isuedate
    [1] “\r\n[科普文章]"
    >isuedate isuedate
    [1] NA
    >作者
    [1] NA
    列表中使用的所有选择方法均无效:
    >头衔
    
    > attributes(ispan)
    $names
    [1] "span" "span" "span" "span"
    
    > val <- xmlValue(ispan$span[[1]])
    > val
    [1] "超高周疲劳裂纹萌生与初始扩展的特征尺度"
    > isuedate <- xmlValue(ispan$span[[2]])
    > isuedate
    [1] "  \r\n                  [科普文章]"
    > isuedate <- xmlValue(ispan$span[[3]])
    > isuedate
    [1] NA
    > author <- xmlValue(ispan$span[[4]])
    > author
    [1] NA
    None of the selection method used in list works:
    > title <- xmlValue(ispan$span[1,1])
    
    pg<-"http://www.irgrid.ac.cn/simple-search?fq=eperson.unique.id%3A311007%5C-000920"
    library(xml2)
    tableSource <- xml_find_all(read_html(pg, encoding = "UTF-8"), "//table[@class='miscTable2']")
    itemspan <- xml_child(itemspantab, "span")
    
    > itemspan
    {xml_nodeset (1)}
    [1] <NA>
    
    > itemspanl <- xml_find_all(itemspantab, '//tr[@class="itemLine"]/td/span')
    > itemspan <- xml_child(itemspanl, "span")
    > itemspan
    {xml_nodeset (40)}
     [1] <NA>
     [2] <NA>
     [3] <NA>
    ...