English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

R XML 파일

在线工具

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을 데이터 목록으로 변환

위의 코드는 모두 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 파일 데이터는 데이터 프레임 타입으로 변환될 수 있습니다. 이렇게 되면 데이터를 처리하는 데 더 편리합니다:

# 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