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/")
# عرض النتيجة
> any(grepl("XML", installed.packages())) [1] TRUE
إنشاء ملف sites.xml، يجب أن يكون الملف xml في نفس الدليل مع سكريpt الاختبار، والكود كالتالي:
<sites> <site> <id>1</id> <name>Google</name> <url>www.google.com</url> <likes>111</likes> </site> <site> <id>2</id> <name>w3codebox</name> <url>ar.oldtoolbag.com</url> <likes>222</likes> </site> <site> <id>3</id> <name>Taobao</name> <url>www.taobao.com</url> <likes>333</likes> </site> </sites>
يمكننا الآن استخدام حزمة XML لتحميل بيانات ملف xml:
# تحميل مكتبة XML library("XML") # تعيين اسم الملف result <- xmlParse(file = "sites.xml") # عرض النتيجة print(result)
حساب كمية البيانات xml:
# تحميل مكتبة XML library("XML") # تعيين اسم الملف result <- xmlParse(file = "sites.xml") # استخراج العنصر الجذر rootnode <- xmlRoot(result) # حساب الكمية rootsize <- xmlSize(rootnode) # عرض النتيجة print(rootsize)
نتيجة تنفيذ الكود أعلاه هي:
[1] 3
عرض بيانات العنصر، استخدم [] للسطر المحدد، واستخدم [[ ]] للسطر والعمود المحددين:
# تحميل مكتبة XML library("XML") # تعيين اسم الملف result <- xmlParse(file = "sites.xml") # استخراج العنصر الجذر rootnode <- xmlRoot(result) # عرض بيانات العنصر الثاني print(rootnode[2]) # عرض البيانات الأولى للعنصر الثاني print(rootnode[[2]][[1]]) # عرض البيانات الثالثة للعنصر الثاني print(rootnode[[2]][[3]])
نتيجة تنفيذ الكود أعلاه هي:
$site <site> <id>2</id> <name>w3codebox</name> <url>ar.oldtoolbag.com</url> <likes>222</likes> </site> attr(,"class") [1] "XMLInternalNodeList" "XMLNodeList" <id>2</id> <url>ar.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] "ar.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 ar.oldtoolbag.com 222 3 3 Taobao www.taobao.com 333