KeiStory

xml 파일 로드 시 에러 : hexadecimal value 0x0C, is an invalid character.

 

xml 파일을 로드에서 parsing 하는데 

hexadecimal value 0x0C, is an invalid character.

에러가 발생되었습니다.

해당에러는 xml 문자열에 인식할수 없는 문자열이 있거나

원본데이터에 null byte 값이 있어 xml 문서가 깨진 경우

발생되는 에러입니다.

 

이를 해결하기 위해서는 아래와 같이 Regex.Replace 구문으로 처리하면 오류가 사라집니다.

using System.IO;
using System.Text.RegularExpressions;
using System.Windows;
using System.Windows.Input;
using System.Xml.Linq;

namespace WPFTest
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            string filePath = "test.xml";
            string txt = File.ReadAllText(filePath);

            // 에러 해결코드
            string pattern = "[\x00-\x08\x0B\x0C\x0E-\x1F\x26]";
            txt = Regex.Replace(txt, pattern, "", RegexOptions.Compiled);

            // XML 파싱 - 에러
            XDocument xmlDoc = XDocument.Parse(txt);
        }
    }
}

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band