저는 C#에서 XML 처리를 많이 해오 고 있습니다. C#으로 오랜 시간 동안 자바 스크립트 코딩을하고 돌아 왔지만 JS의 멋진 단축키가 정말 빠져 있습니다.더 나은 무엇인가 : 객체 Deserialise 대 그냥 XML 문서에 대한 Xpathing?
많은 요소들, 하위 요소들로 구성된 상당한 크기의 XML 문서를 작성했습니다. 온라인 예약을위한 숙박/항공편/매력 티켓을 나타냅니다.
지금까지 필자는 필요한 정보를 얻기 위해 문서를 Xpathing했습니다. 나는 이제이를 헬퍼 함수로 옮기기 시작했다. 따라서 예를 들어 제 3자가 항공편을 타면 예약 처리 방법을 변경할 수 있습니다. Thats는 Xpath로 검사하기 쉽습니다. 요소의 값만 확인하면됩니다. 그래서 나는 Xpath가 한 곳에서만 있고 bool을 돌려주는 헬퍼 함수를 가지고있다. 나는 단지 약 12 개를 가지고있다. 그리고 지금까지 나는 예약으로서 모든 일을 다뤄 뒀다. 그러나 우리는 단지 예약의 비행 요소와 지난 4 도우미에 관한 누구나이었던 일을했다 방금 만든 비행기가 바로 비행 관련입니다.
전체 문서를 개체로 변환 할 필요가 없으므로 크기 때문에 현재해야 할 일이 매우 어려워서 현재 필요하지 않지만 여전히 실제로는 아닙니다. 이러한 모든 객체를 만드는 것은 큰 어려움이 될 것입니다.이 경로가 완료된 유사한 프로젝트에서 작업 했으므로 디버깅을 시도하거나 처음에는 머리를 숙이는 것이 좋습니다. 우리는 모든 문서를 사용하지 않고 있으며, 우리가 처리하는 처리량이 간신히 10 %를 사용하므로 모든 것을 비 직렬화하는 것이 약간 과소 설계된 것으로 보입니다. JS에서 그것을 deserialising하는 것은 산들 바람 일 것입니다. 그러나 C#은 단지 그것을 너무 오래 바람 핀으로 만듭니다. 나는 XSD.exe를 사용하여 고통을 덜어 낼 수 있다는 것을 알고 있지만 좋은 스키마 (물론 존재하지 않는) 없이는 이런 난장판이 사용된다는 것을 알았습니다.
하지만 우리는 항상 XML에서 객체의 거대한 컬렉션을 생성해야합니까, 아니면 여전히 받아 들일 수있는 빠른 방법일까요? 나는 그걸로 만족하지만 Object가 더 좋은 방법이 될지를 생각하고있다. 우리는 모든 것을 변환 한 다음 적어도 향후 프로젝트에서 필요할 때 사용할 수있게 될 것입니다.
나는 모든 것을 xpathing하는 속도에 대한 의견이있을 수 있지만, 우리가 현재 원하는 것은 충분히 빠르다는 것을 알고 있습니다.
XPathing을 계속 진행할 생각이라면 어떻게해야합니까?
시간을내어 답변 해 주셔서 감사합니다. 나는 그것의 ok를 알고 있고, 그것을하는 더러운 방법이 아니라고 잘 느낀다. 건배. –