Menghuraikan XML dalam Pemasang WiX dengan Isu Xml.LoadData
Dalam percubaan untuk menghuraikan XML dalam pemasang WiX, ralat "Data di tahap akar tidak sah Baris 1, kedudukan 1" ditemui. XML asas mengandungi struktur yang sah, seperti yang ditunjukkan di bawah:
<?xml version="1.0" encoding="utf-8"?> <Errors></Errors>
Isu timbul daripada watak tersembunyi , berkemungkinan BOM (Byte Order Mark), yang muncul pada permulaan XML. Watak ini tidak kelihatan dalam editor teks tetapi boleh mengganggu penghuraian XML.
Untuk menyelesaikannya, kami boleh menggunakan coretan kod yang menyemak aksara BOM dan mengalih keluarnya jika sekarang:
string _byteOrderMarkUtf8 = Encoding.UTF8.GetString(Encoding.UTF8.GetPreamble()); if (xml.StartsWith(_byteOrderMarkUtf8)) { xml = xml.Remove(0, _byteOrderMarkUtf8.Length); }
Pendekatan alternatif, seperti yang dicadangkan oleh pengguna lain, adalah untuk mengalih keluar keseluruhan baris pertama, walaupun ia kurang tepat berbanding di atas kaedah.
Kesimpulan
Dengan mengalih keluar aksara BOM yang tidak kelihatan daripada XML, ralat penghuraian boleh diselesaikan, membenarkan XML berjaya dihuraikan dan kandungannya diproses.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'Data pada peringkat akar tidak sah' Semasa Menghuraikan XML dalam Pemasang WiX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!