Dart:
עבודה עם XML
איך ל:
Dart אינו כולל תמיכה מובנית לטיפול ב-XML בספרייתו הסטנדרטית, מה שמחייב שימוש בחבילות צד שלישי. חבילה פופולרית היא xml
. לשימוש בה, תחילה עליך להוסיף אותה ל-pubspec.yaml
שלך:
dependencies:
xml: ^5.0.0 // השתמשו בגרסה האחרונה הזמינה
לאחר מכן, יבאו את החבילה בקובץ Dart שלכם:
import 'package:xml/xml.dart' as xml;
פירוש XML:
נניח שיש לכם מחרוזת XML כזו:
<String name="greeting">שלום, עולם!</String>
ניתן לפרש ולקרוא את ה-XML כמו זה:
void parseXml(String xmlString) {
final document = xml.XmlDocument.parse(xmlString);
final String content = document.findElements('String').single.getAttribute('name');
print(content); // מוצג: greeting
}
void main() {
final xmlString = '<String name="greeting">שלום, עולם!</String>';
parseXml(xmlString);
}
יצירת מסמכי XML:
יצירת מסמך XML חדש היא פשוטה עם החבילה xml
:
void createXml() {
final builder = xml.XmlBuilder();
builder.processing('xml', 'version="1.0"');
builder.element('greeting', nest: () {
builder.attribute('name', 'hello');
builder.text('שלום, עולם!');
});
final xmlDocument = builder.buildDocument();
print(xmlDocument.toXmlString(pretty: true));
}
void main() {
createXml();
}
פלט:
<?xml version="1.0"?>
<greeting name="hello">שלום, עולם!</greeting>
שאילתא ושינוי XML:
לחיפוש או שינוי אלמנטים, ניתן להשתמש בשיטות דומות ל-XPath:
void modifyXml(String xmlString) {
var document = xml.XmlDocument.parse(xmlString);
var greeting = document.findAllElements('greeting').first;
// שינוי התכונה 'name'
greeting.setAttribute('name', 'greeting_modified');
// הוספת אלמנט ילד חדש
greeting.children.add(xml.XmlElement(xml.XmlName('message'), [], [xml.XmlText('להתראות!')]));
print(document.toXmlString(pretty: true));
}
void main() {
final xmlString = '<greeting name="hello">שלום, עולם!</greeting>';
modifyXml(xmlString);
}
פלט:
<greeting name="greeting_modified">
שלום, עולם!
<message>להתראות!</message>
</greeting>
דוגמאות אלה מדגימות פעולות בסיסיות לעבודה עם XML ב-Dart. עם החבילה xml
, תוכלו לפרש, ליצור ולשנות מסמכי XML לפי דרישות האפליקציה שלכם.