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">Hello, world!</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">Hello, world!</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('Hello, world!');
});
final xmlDocument = builder.buildDocument();
print(xmlDocument.toXmlString(pretty: true));
}
void main() {
createXml();
}
ผลลัพธ์:
<?xml version="1.0"?>
<greeting name="hello">Hello, world!</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('Goodbye!')]));
print(document.toXmlString(pretty: true));
}
void main() {
final xmlString = '<greeting name="hello">Hello, world!</greeting>';
modifyXml(xmlString);
}
ผลลัพธ์:
<greeting name="greeting_modified">
Hello, world!
<message>Goodbye!</message>
</greeting>
ตัวอย่างเหล่านี้แสดงการดำเนินการพื้นฐานสำหรับการทำงานกับ XML ใน Dart ด้วยแพ็คเกจ xml
, คุณสามารถแยกวิเคราะห์, สร้าง, และจัดการเอกสาร XML เพื่อตอบสนองความต้องการของแอปพลิเคชันของคุณ