면접문제 시리즈(4) - 데이터 분석

1. JSONkit, SBJson, 터치JSON과 원생의 차이?
JSONkit, SBJson, 터치JSON의 성능은 왼쪽에서 오른쪽으로 갈수록 떨어지는데 주로 성능상의 차이이다
2. json,xml의 차이점 분석
가독성: 기본적으로 같고 xml의 가독성이 비교적 좋다
확장성 측면: 뛰어난 확장성
인코딩 난이도: 상대적으로 JSON의 인코딩이 비교적 쉽다
디코딩 난이도: json의 디코딩 난이도는 기본적으로 0이며, xml은 하위 노드와 부 노드를 고려해야 한다.
데이터 상호작용 방면: json과 자바스크립트의 상호작용은 더욱 방면적이고 해석 처리가 쉬우며 데이터 상호작용이 좋다
데이터 묘사 방면: xml이 데이터 묘사성에 비교적 좋다
전송 속도: json의 속도는 xml보다 훨씬 빠르다
3. json,xml 해석 방식의 밑바닥은 어떻게 처리합니까?
JSON 베이스 원리
문자열의 문자를 옮겨다니며 최종적으로 형식에 규정된 특수 문자, 예를 들어 {}번호, []번호,: 번호 등을 구분한다. {}번호는 사전의 시작이고 []번호는 하나의 수조의 시작이다. 번호는 사전의 키와 값의 분수령이다. 최종적으로 json 데이터를 사전으로 바꾸는 것이다. 사전의 값은 사전, 수조, 또는 문자열일 수 있다.
XML 기본 원리
XML 해석에서 자주 사용하는 해석 방법은 두 가지가 있는데 그것이 바로 DOM 해석과 SAX 해석이다.DOM은 트리 구조를 만드는 방식으로 XML 문서에 접근하고 SAX는 이벤트 모델을 사용합니다.DOM 해석은 XML 문서를 내용을 포함하는 트리로 변환하고 트리를 옮겨다닐 수 있습니다.DOM 파서를 사용할 때는 전체 XML 문서를 처리해야 하기 때문에 성능과 메모리에 대한 요구가 비교적 높다.SAX는 XML 문서를 분석할 때 일련의 이벤트를 터치할 수 있으며, 주어진 태그를 발견할 때 리셋 방법을 활성화시켜 이 방법이 만든 탭을 찾을 수 있음을 알려 줍니다.SAX는 일반적으로 메모리에 대한 요구가 비교적 낮을 것이다. 왜냐하면 개발자가 처리할 tag를 스스로 결정하기 때문이다.특히 개발자가 문서에 포함된 일부 데이터만 처리할 때 SAX의 이러한 확장 능력은 더욱 잘 나타난다.
(보충) 다른 해석 방식은 사용자 정의 2진법 해석이 있는데 바로 바이트에 따라 해석하는 것이다. 전화 회담은 이렇다. 문자열 사이에 특수 기호로 연결된 데이터도 있고 이 데이터를 특수 기호로 사용할 수 있는 데이터로 분할할 수 있다.
4.XML은 무엇입니까?XML과 HTML의 차이점은?
XML의 간단함은 모든 응용 프로그램에서 데이터를 읽기 쉽고 쓰기 쉽도록 한다. 이로써 XML은 데이터 교환의 유일한 공용어가 되었다. 비록 서로 다른 응용 프로그램도 다른 데이터 교환 형식을 지원하지만 머지않아 그들은 XML을 지원할 것이다. 이것은 프로그램이 Windows, Mac OS, Linux 및 기타 플랫폼에서 발생하는 정보와 더욱 쉽게 결합할 수 있음을 의미한다.그런 다음 프로그램에 XML 데이터를 쉽게 로드하고 그를 분석하여 결과를 XML 형식으로 출력할 수 있습니다.XML은 이전에 많은 개발자들을 골치 아프게 했던 SGML의 임의 문법을 없앴다.XML에는 다음과 같은 구문이 사용됩니다.
                     。
               ,                   。                  (/),  。XML         。
                  ,                   ,  this is asamplestring。                       :              ,           。
              。
                      。

XML과 HTML의 디자인 차이 XML의 핵심은 데이터이고 그 중심은 데이터의 내용이다.HTML은 데이터의 표시에 중점을 두고 데이터를 표시하는 데 사용된다.XML과 HTML 문법은 HTML의 태그를 구별한다. 모든 태그가 쌍으로 나타나야 하는 것은 아니다. XML은 모든 태그가 쌍으로 나타나야 한다.HTML 태그는 대소문자를 구분하지 않으며 XML은 대소문자를 구분하는 민감한 크기입니다.
5. 데이터 해석(json 및 XML)
json 데이터의 해석
일반적으로 SBJson,TouchJson,jsonKit,Apple가 제공하는 원생적인 JSon 해석 NSJSON Serialization 등을 빌린다.json 데이터를 IOS에서 자주 사용하는 사전 등으로 전환합니다.
XML 데이터의 해석 xml은 SAX와 DOM 두 가지 해석 방식으로 나뉜다.
1. DOM이 XML을 해석할 때 전체 XML 문서를 읽고 메모리에 있는 트리 구조(노드 트리)를 구축한다. 트리 구조를 훑어보면 임의의 XML 노드를 검색하고 속성과 값을 읽을 수 있다.일반적으로 XPath를 사용하여 XML 노드를 직접 조회할 수 있습니다.
2. SAX 해석 XML은 이벤트 알림을 기반으로 하는 모드로 XML 문서를 읽으면서 처리한다. 전체 문서를 불러온 후에야 조작할 필요가 없다. 읽기 해석 과정에서 처리해야 할 대상이 발생하면 통지를 보내서 처리한다.
iOS 플랫폼에서 일반적으로 사용되는 XML 분석 라이브러리는 다음과 같습니다.
NSXMLParser, 이것은 SAX 방식으로 XML을 분석하는 라이브러리로 기본적으로 iOS SDK에 포함되며 사용도 비교적 간단합니다.
libxml2는 iOS SDK에 기본적으로 포함된 소스 라이브러리로 C 언어를 기반으로 하는 API이기 때문에 NSXML보다 사용하기 편할 수 있습니다.이 라이브러리는 DOM과SAX 해석을 동시에 지원하는데libxml2의SAX 해석 방식은 매우 멋있다. 왜냐하면 읽으면서 해석할 수 있기 때문이다. 특히 인터넷에서 큰 XML 파일을 다운로드하면 다운로드하면서 이미 다운로드한 내용을 해석하여 해석 효율을 크게 높일 수 있기 때문이다.
TBXML, 이것은 경량급DOM 방식의 XML 해석 라이브러리로 매우 좋은 성능과 낮은 메모리를 차지하지만 XML 형식을 검사하지 않고 XPath를 지원하지 않으며 해석만 지원하며 XML에 대한 수정은 지원하지 않습니다.
터치 XML, 이것도 DOM 방식의 XML 해석 라이브러리입니다. XPath는 지원되고 XML의 수정은 지원되지 않습니다.
터치 XML, 터치 XML 기반의 XML 해석 라이브러리입니다. 터치 XML에 비해 XML 수정을 지원합니다.
TinyXML, 이것은 C 언어를 기반으로 하는 작은 DOM 방식으로 XML 해석을 하는 라이브러리입니다. XML에 대한 읽기와 수정을 지원하고, XPath를 직접 지원하지 않으며, 다른 관련 라이브러리인 TinyXPath를 빌려야만 XPath를 지원할 수 있습니다.
GDataXML, Google이 개발한 DOM 방식 XML 해석 라이브러리입니다. XML 문서를 읽고 수정하며 XPath 방식 조회를 지원합니다.

좋은 웹페이지 즐겨찾기