R 및 XML 패키지 (xmlTreeParse 등)를 사용하여 xml 파일에서 특정 노드를 성공적으로 읽으려고 최선을 다했습니다. 다음 xml 더미 예제는 내가 사용하고있는 데이터를 나타냅니다.R : XML 데이터에서 특정 노드 내용 추출
<item>
<title> Mickey Mouse </title>
<description> Cartoon </description>
<pubDate> 25 Apr 1965 </pubDate>
<disney:Filing web="http://www.waltdisney.com/archives">
<disney:fileNumber>125364</disney:fileNumber>
<disney:assignedID>7389</disney:assignedID>
<disney:Files>
<disney:File disney:set="1" disney:file="abc.mov" disney:type="B&W"/>
<disney:File disney:set="2" disney:file="def.mov" disney:type="Col"/>
<disney:File disney:set="3" disney:file="wzt.mov" disney:type="B&W"/>
</disney:Files>
</disney:Filing>
</item>
처음 세 개의 노드를 성공적으로 추출하기 위해 xpathApply를 적용했습니다. 그러나 "disney : File"태그가 붙은 노드로 갈 수는 없습니다. 어떤 이유로 디즈니 이상의 모든 것 : 파일을 읽을 수 없습니다 ("보이지 않음").
내 목표는 모든 디즈니를 추출하는 것입니다 : 파일 라인을 데이터 프레임 이상으로 추출하는 것 : 먼저 특정 디즈니 검색 :이 노드의 모든 정보 만 데이터 프레임으로 설정하고 추출하십시오. 어떤 도움이라도 정말 좋을 것입니다. 미리 감사드립니다!
xpath에 네임 스페이스를 사용해야합니다. 자세한 내용은'xmlNamespaces'를보십시오. 문제의 XML 파일과 네임 스페이스 정의가 없으면 도움이되지 않습니다. 예를 들어,'xpathSApply (doc, '// */disney : File', xmlValue)'를 사용하는 것은 충분하지만 어쩌면 추가 네임 스페이스가있을 수 있습니다. – jdharrison
정말로하고 싶은게 있다면'disney : File' 데이터를 얻는 것 뿐이지요. 단 한 줄로되어 있다고 확신 할 수 있습니다.'readLines' +'grep' +'str_extract'로 충분할 것입니다. XML이기 때문에 천천히/메모리 낭비적인 트리 파싱을 할 필요가 없습니다. 물론 복잡한 추출을 위해 (그리고 파일 당 1 비트 이상의 데이터 추출 유형을 사용하는 경우) XML 구문 분석은 상당한 의미를 갖습니다. – hrbrmstr
@jdharrison과 hrbrmstr에게 감사드립니다. 나는 readLines 등으로 갔다. 왜냐하면이 작업을 위해 더 간단하고 직선적으로 보였기 때문이다. 큰 도움이됩니다! – PBolbrinker