Xml 형식의 데이터를 생성하고 구문 분석하기 위한 코드 세부정보

黄舟
풀어 주다: 2017-03-08 16:11:04
원래의
1764명이 탐색했습니다.

1. 🎜>

형식의 데이터를 파싱하여 네트워크를 통해 전송합니다.

XML의 형식은 스티커 메모 형태로 작성되어 표시되는데, 이는 아래 그림과 같이 한 눈에 명확하고 읽고 식별하기 쉽습니다.

<xml 头>
<student>
<name>张三</name>
<number>110001</number>
<sex>male</sex>
</student>
로그인 후 복사

XML의 생성

Java 코드로 구현된 경우 이러한 문자열 형식은 StringBuilder를 사용하여 어셈블할 수 있습니다. StringBuilder sb = new StringBuilder();

//数据保存到文件
sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
sb.append("<student>");
sb.append("<name>");
sb.append(name);
sb.append("</name>");
sb.append("<number>");
sb.append(number);
sb.append("</number>");
sb.append("<sex>");
sb.append(sex);
sb.append("</sex>");
sb.append("</student>");
로그인 후 복사

위 코드는 xml

파일도 생성할 수 있지만, 예를 들어 문자 메시지 내용에 "" 기호가 포함되어 있으면 xml

구문 분석기가 올바른 구문 분석을 완료할 수 없습니다. 따라서 사용을 위한 전제조건은 데이터 내용에 특수문자가 없는지 확인하는 것입니다.

그리고 Android는 XML 데이터 생성을 위해 특별히 API를 제공합니다. 🎜>XML 구문 분석

1. DOM 구문 분석

은 모든 콘텐츠를 저장하는 객체 기반 API입니다. XML 파일을 문서 트리 형태로 메모리에 저장한 후 DOMAPI를 사용할 수 있도록 허용합니다. XML 트리를 탐색하여 필요한 데이터를 검색하면 파일이 트리 구조에 따라 노드로 조작될 수 있습니다. DOM은 전체 XML 파일을 문서 트리 형태로 메모리에 저장해야 하는데, 이는 많은 메모리를 소모하므로 Android에서 구문 분석할 때 이 방법을 사용해도 괜찮습니다.

2. SAX 구문 분석

은 XML 문서를 한 줄씩 스캔하고, 태그가 발견되면 구문 분석 프로세서를 트리거하고, 이벤트 처리를 사용하여 XML을 구문 분석합니다. 문서를 읽으면서 XML을 처리할 수 있으며, 문서가 로드될 때까지 기다릴 필요가 없으며, 문서 전체를 메모리에 로드할 필요가 없으므로 메모리를 점유하는 데 문제가 없으며 구문 분석이 가능합니다. 매우 큰 XML. 그러나 SAX 구문 분석은 XML 데이터를 읽는 데만 사용할 수 있으며 추가, 삭제 또는 수정할 수 없습니다.

3. PULL 구문 분석은 SAX 구문 분석과 유사하며 이벤트 처리를 기반으로 합니다. PULL 파서는 Android 애플리케이션과 JavaEE 프로그램 모두에서 사용할 수 있는 오픈 소스 Java 프로젝트입니다. Android에는 PULL 파서가 통합되어 있으므로 Android에서 가장 일반적으로 사용되는 구문 분석 방법은 PULL 구문 분석입니다.

SAX와 PULL 구문 분석 비교: Pull 파서는 SAX

파서와 유사하게 작동하며 둘 다 이벤트 중심입니다. 시작 요소 및 끝 요소 이벤트와 같은 유사한 이벤트를 제공하여 다음 요소를 입력하고 해당 이벤트를 트리거합니다. 이벤트는 숫자 코드로 전송되므로 스위치

를 사용하여 관심 있는 이벤트를 처리할 수 있습니다. 요소가 구문 분석되기 시작하면 parser.nextText() 메서드를 호출하여 다음 Text

유형 요소의 값을 가져옵니다.

SAX 파서는 처리를 위해 이벤트 프로세서에 이벤트를 자동으로 푸시하는 방식으로 작동하므로 이벤트 처리의 활성 종료를 제어할 수 없지만 Pull

파서는 애플리케이션 코드를 적극적으로 허용하여 작동합니다. 파서에서 이벤트를 가져옵니다. 이벤트를 적극적으로 가져오기 때문에 필수 조건이 충족된 후에는 더 이상 이벤트를 가져오고 구문 분석을 종료할 수 없습니다.

Android에서 PULL 메서드를 사용하여 XML 파일을 구문 분석하는 코드는 다음과 같습니다.

try {//
采用Android的api面向对象的生成xml文件.
// 1.得到xml文件的序列化器
XmlSerializer serializer = Xml.newSerializer();
// 2.指定序列化器的一些初始参数
File file = new File(getFilesDir(), name +".xml");
FileOutputStream os = new FileOutputStream(file);serializer.setOutput(os,
"utf-8");
// 3.写xml文件.
serializer.startDocument("utf-8",
true);//写开头serializer.startTag(null,
"student");//开始标签
serializer.startTag(null,"name");
serializer.text(name);//文本标签
serializer.endTag(null,"name");//结束标签
serializer.startTag(null,"number");
serializer.text(number);
serializer.endTag(null,"number");
serializer.startTag(null,"sex");
serializer.text(sex);
serializer.endTag(null,"sex");
serializer.endTag(null,"student");
serializer.endDocument();//写结尾
os.close();
Toast.makeText(this,"保存数据成功", 0).show();
} catch (Exception e) {e.printStackTrace();
Toast.makeText(this,"保存数据失败", 0).show();
}
로그인 후 복사

위 내용은 Xml 형식의 데이터를 생성하고 구문 분석하기 위한 코드 세부정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!