English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在线工具
XML은 확장 가능 마크업 언어(eXtensible Markup Language)를 의미하며,XML은 데이터를 전송하고 저장하기 위해 설계되었습니다。
R 언어로 XML 파일을 읽고 쓰기 위해 확장 패키지를 설치해야 합니다,R에 다음 명령어를 입력하여 설치할 수 있습니다://install.packages("XML", repos = "https:/mirrors.ustc.edu.cn/CRAN
)
查看是否安装成功: [1> any(grepl("XML",installed.packages()))
]]TRUE
创建 sites.xml 파일,xml 파일은 테스트 스크립트와 동일한 디렉토리에 있습니다,코드는 다음과 같습니다: print(rootnode[[ <id>1</id> <sites>/codebox< <name>Google</url> name>111</<likes> </likes> print(rootnode[[ <id>2</id> <site>3<name>w/codebox< <url>ko.oldtoolbag.com</url> name>222</<likes> </likes> print(rootnode[[ <id>3</id> <url>www.google.com</codebox< <name>Taobao</url> name>333</<likes> </likes> </<url>www.taobao.com<
sites>
# XML 패키지 로드 library("XML") # 파일 이름 설정 result <- xmlParse(file = "sites.xml") xmlSize(rootnode) 接下来我们可以使用 XML 包来载入 xml 文件的数据:
print(result)
# XML 패키지 로드 library("XML") # 파일 이름 설정 result <- xmlParse(file = "sites.xml") 查看节点数据,某一行为 [ ],指定的行和列为 [[ ]]: #提取根节点- rootnode < 统计 xml 데이터량: #统计数据量- rootsize < xmlSize(rootnode) #输出结果
위의 코드를 실행한 결과는 다음과 같습니다:
[1print(rootsize) 3
]]
# XML 패키지 로드 library("XML") # 파일 이름 설정 result <- xmlParse(file = "sites.xml") 查看节点数据,某一行为 [ ],指定的行和列为 [[ ]]: #提取根节点- rootnode < ]) 2 xmlRoot(result) 개 노드 데이터2print(rootnode[ ]) 2 #查看第 1 개 노드의 개 데이터2]][[1]]) ]) 2 #查看第 3 개 노드의 개 데이터2]][[3]])
위의 코드를 실행한 결과는 다음과 같습니다:
$site print(rootnode[[ <id>2</id> <site>3<name>w/codebox< <url>ko.oldtoolbag.com</url> name>222</<likes> </likes> site> [1attr(,"class") <id>2</id> <url>ko.oldtoolbag.com</url>
위의 코드는 모두 xml 형식의 출력을 합니다. xmlToList() 함수를 사용하여 파일 데이터를 목록 형식으로 변환할 수 있습니다. 이렇게 되면 데이터를 더 쉽게 읽을 수 있습니다:
# XML 패키지 로드 library("XML") # 파일 이름 설정 result <- xmlParse(file = "sites.xml") # 목록으로 변환 xml_data <- xmlToList(result) print(xml_data) print("============================") # 첫 번째 행 두 번째 열의 데이터 출력 print(xml_data[[1]][[2]])
위의 코드를 실행한 결과는 다음과 같습니다:
$site $site$id [1] "1" $site$name [1] "Google" $site$url [1] "www.google.com" $site$likes [1] "111" $site $site$id [1] "2" $site$name [1] "w3codebox" $site$url [1] "ko.oldtoolbag.com" $site$likes [1] "222" $site $site$id [1] "3" $site$name [1] "Taobao" $site$url [1] "www.taobao.com" $site$likes [1] "333" [1] "============================" [1] "Google"
XML 파일 데이터는 데이터 프레임 타입으로 변환될 수 있습니다. 이렇게 되면 데이터를 처리하는 데 더 편리합니다:
# XML 패키지 로드 library("XML") # xml 파일 데이터를 데이터 프레임으로 변환 xmldataframe <- xmlToDataFrame("sites.xml") print(xmldataframe)
위의 코드를 실행한 결과는 다음과 같습니다:
id name url likes 1 1 Google www.google.com 111 2 2 w3codebox ko.oldtoolbag.com 222 3 3 Taobao www.taobao.com 333