홈>
iOS 애플리케이션에서 xml에서 데이터를 읽을 수 있습니다 xml을 읽는 코드 ::
-(NSString *)readxmlFile:(NSString *)fileName ElementName:(NSString *)Element Poisson:(NSInteger *)Index {
xmlelement = Element;
NSString *filePath = [[NSBundle mainBundle] pathForResource:fileName ofType:@"xml"];
NSData *myData = [NSData dataWithContentsOfFile:filePath];
NSString *str,*docStr;
if (myData) {
str = [[NSString alloc] initWithData:myData encoding:NSASCIIStringEncoding];
}
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
// the path to write file
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.xml",fileName]];
NSError *error = nil;
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:appFile];
NSData *myData1 = [NSData dataWithContentsOfFile:appFile];
if(fileExists)
{
NSLog(@"file exist in document");
if (myData1) {
docStr = [[NSString alloc] initWithData:myData1 encoding:NSASCIIStringEncoding];
xmlparser=[[NSXMLParser alloc] initWithData: myData1];
[xmlparser setDelegate:self];
[xmlparser parse];
NSLog(@"Data>>%@",xmlData);
}
}
else {
NSLog(@"file does not exist");
xmlparser=[[NSXMLParser alloc] initWithData: myData1];
[xmlparser setDelegate:self];
[xmlparser parse];
NSLog(@"Data>>%@",xmlData);
BOOL success = [str writeToFile:appFile atomically:YES encoding:NSUTF8StringEncoding error:&error];
if (!success) {
NSLog(@"Error: %@", [error userInfo]);
}
else {
NSLog(@"File write is successful");
}
NSData *myData1 = [NSData dataWithContentsOfFile:appFile];
if (myData1) {
docStr = [[NSString alloc] initWithData:myData1 encoding:NSASCIIStringEncoding];
}
}
return [xmlData objectAtIndex:Index];//pasre data from xml based on node name and save in xmlData
}
하지만 xml을 작성할 수 없지만 (노드 추가 및 노드 값 업데이트) xml 파일에서 노드를 추가하고 노드 값을 업데이트하는 방법을 알려주세요.
- 답변 # 1
관련 자료
- python - Pandas Dataframe이 열 값을 업데이트하지 않음
- python - 데이터 프레임에서 중첩 된 사전 값 업데이트
- php - JSON 데이터베이스 업데이트 누락 키 값
- sql - 모든 사용자에 대해 해당 값이있는 경우 단일 값으로 열의 모든 값을 업데이트합니다
- jq를 사용하여 json 문자열의 값을 어떻게 업데이트합니까?
- Android 411에서 Kotlin을 사용하여 모든 클래스의 활동 뷰 값을 업데이트하는 가장 좋은 방법
- javascript - 반응 형 데이터 테이블 내부의 업데이트 입력 값이 작동하지 않음
- mysql : 위와 아래의 값을 기반으로 필드 업데이트
- javascript - 커밋하지 않고 업데이트되는 Vuex 스토어 값
- 파이썬 사전 여러 하위 값을 업데이트하는 방법은 무엇입니까?
- python - 인덱스와 열이 일치하지 않을 때 다른 데이터 프레임의 값으로 데이터 프레임을 업데이트하는 방법
- pandas - 파이썬에서 열의 조건에 따라 행 값 업데이트
- android - 실시간 데이터베이스에서 키 값을 업데이트하려면 어떻게해야합니까?
- ASPNET Core의 TagHelper는 값을 업데이트하지 않습니다
- python - DataFrame 열의 값을 반복하고 조건이 충족되면 해당 값을 업데이트합니다
- mysql - 외래 키로 프로덕션 테이블의 값을 업데이트하는 방법은 무엇입니까?
- python - 대신 사전 업데이트가 원래 값을 대체합니다
- middleware - BPEL SOA에서 Assign/XSLT를 사용하여 중첩 노드에서 값을 분할하고 할당하려면 어떻게해야합니까?
- SQL Server에서 Python을 사용하여 테이블의 열 값 업데이트
- python - Pandas Series 개체는 값을 업데이트하지 않습니다
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- JavaScript 변수를 HTML div에 '출력'하는 방법
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- python - 화면에서 찾은 요소를 찾을 수없는 경우 셀레늄
NSXMLParser는 파서 일뿐입니다. XML을 쓰지 않습니다. XML 스트림을 처리하는 데는 좋지만 전체 덩어리를 한 번에 얻는다면 그리 좋지 않습니다.
Google은 GDataXmlNode라는 훌륭한 XML 읽기/쓰기 클래스를 작성했습니다. 사용 방법에 대한 블로그 게시물입니다. http://www.raywenderlich.com/725/how-to-read-and-write-xml-documents-with-gdataxml
NSXMLParser를 사용하는 것보다 훨씬 좋습니다.