Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.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中的XML处理:在子节点中使用xmlGetAttr_R_Xml - Fatal编程技术网

R中的XML处理:在子节点中使用xmlGetAttr

R中的XML处理:在子节点中使用xmlGetAttr,r,xml,R,Xml,我有几个XML文件,其结构类似于以下文件: <?xml version='1.0' encoding='UTF-8'?> <text> <stage></stage> <div> <intro agent= "Peter"></intro> <dialogue agent= "Peter"></dialogue> <outr

我有几个XML文件,其结构类似于以下文件:

<?xml version='1.0' encoding='UTF-8'?> 

<text>

  <stage></stage>

    <div>
      <intro agent= "Peter"></intro>
        <dialogue agent= "Peter"></dialogue>
      <outro agent= "Stephen"></outro>
    </div>

    <div>
     <intro agent= "Sandra"></intro>
        <dialogue agent= "Peter"></dialogue>
     <outro agent= "Robert"></outro>
    </div>

  <stage></stage>

</text>

我认为现在应该更多地关注XPath而不是R:

txt <- '<?xml version="1.0" encoding="UTF-8"?> 
<text>
  <stage></stage>
    <div>
      <intro agent= "Peter"></intro>
        <dialogue agent= "Peter"></dialogue>
      <outro agent= "Stephen"></outro>
    </div>
    <div>
     <intro agent= "Sandra"></intro>
        <dialogue agent= "Peter"></dialogue>
     <outro agent= "Robert"></outro>
    </div>
  <stage></stage>
</text>'

library(xml2)
library(magrittr)

doc <- read_xml(txt)
xml_find_all(doc, ".//*[@agent]") %>% 
  xml_attr("agent")

我认为现在应该更多地关注XPath而不是R:

txt <- '<?xml version="1.0" encoding="UTF-8"?> 
<text>
  <stage></stage>
    <div>
      <intro agent= "Peter"></intro>
        <dialogue agent= "Peter"></dialogue>
      <outro agent= "Stephen"></outro>
    </div>
    <div>
     <intro agent= "Sandra"></intro>
        <dialogue agent= "Peter"></dialogue>
     <outro agent= "Robert"></outro>
    </div>
  <stage></stage>
</text>'

library(xml2)
library(magrittr)

doc <- read_xml(txt)
xml_find_all(doc, ".//*[@agent]") %>% 
  xml_attr("agent")
agents <- xmlApply(xml_processed[["test.xml"]], "/text/div/intro", xmlGetAttr, "agent", default= "-")
get(as.character(FUN), mode = "function", envir = envir)
txt <- '<?xml version="1.0" encoding="UTF-8"?> 
<text>
  <stage></stage>
    <div>
      <intro agent= "Peter"></intro>
        <dialogue agent= "Peter"></dialogue>
      <outro agent= "Stephen"></outro>
    </div>
    <div>
     <intro agent= "Sandra"></intro>
        <dialogue agent= "Peter"></dialogue>
     <outro agent= "Robert"></outro>
    </div>
  <stage></stage>
</text>'

library(xml2)
library(magrittr)

doc <- read_xml(txt)
xml_find_all(doc, ".//*[@agent]") %>% 
  xml_attr("agent")
library(XML)

doc <- xmlParse(txt)
xpathSApply(doc, "//*[@agent]", xmlGetAttr, "agent")