Добавить дополнительные элементы в XML-файл с помощью iphone

#iphone #objective-c #xml #ios

#iPhone #objective-c #xml #iOS

Вопрос:

Привет, какой-нибудь орган, помогите мне, я использую один xmlфайл, например

 <?xml version="1.0" encoding="UTF-8"?> 
<MangoUserDataFile>
    <Device>iPad</Device>
    <Version>3.0</Version>
        <UserName>XYZ</UserName>
        <UserType>Admin</UserType>  
        <Module>TabView</Module>    
        <tab id="1">
        <item>
                  <name>Admin</name>
                  <value>WebView</value>
                  <image>20</image>
               </item>
        </tab>
</MangoUserDataFile>
  

Я хочу добавить больше элементов в этот xmlфайл с iPad

Для exmaple я создаю несколько текстовых полей под названием:

nametextfiled , valuetextfiels , imagetextfield

… и как только я ввожу значение в эти текстовые поля и нажимаю отправить, в этот момент в этом XML-файле должны быть созданы другие элементы

Может ли какой-нибудь орган дать мне какие-либо идеи по поводу того, как мы добавим еще один элемент в xmlfile с iPad.

Ответ №1:

В этом случае вам следует переписать все элементы в новый XML-файл и попытаться заменить старый XML-файл новым.

Запись может быть выполнена с использованием этих классов:

 //
//  XMLBuilder.h
//  TaxiSharing
//
//  Created by Erle on 02.07.09.
//  Copyright 2009 University of Duisburg-Essen,
//  Institute of Computer Science and Business Computer Science
//  Group for Pervasive Computing and User Interface Engineering 
//   All rights reserved.
//

#import <Foundation/Foundation.h>


@interface XMLBuilder : NSObject {
    NSMutableString *XMLString;

}

@property(nonatomic,retain) NSMutableString *XMLString;

-(void)addTagToXML:(NSString *)tag withValue:(NSString *)value;
-(void)addSelfClosedTag:(NSString *)tag withInnerValueTitle:(NSString *)innerValueTitle andValue:(NSString *)value;
-(void)addSelfClosedTag:(NSString *)tag withInnerString:(NSString *)innerString;
-(void)addSingleTag:(NSString *)tag withInnerString:(NSString *)innerString;
-(void)addSingleValue:(NSString *)value;
-(void)addSingleTag:(NSString *)tag;
-(void)endSingleTag:(NSString *)tag;
-(void)closeXML;

@end

//
//  XMLBuilder.m
//  TaxiSharing
//
//  Created by Erle on 02.07.09.
//  Copyright 2009 University of Duisburg-Essen,
//  Institute of Computer Science and Business Computer Science
//  Group for Pervasive Computing and User Interface Engineering 
//   All rights reserved.
//

#import "XMLBuilder.h"


@implementation XMLBuilder

@synthesize XMLString;

-(id)init{
    [super init];
    XMLString = [[NSMutableString alloc] initWithFormat:@"<?xml version="1.0" encoding="UTF-8"?> n"];
    return self;
}

-(void)addTagToXML:(NSString *)tag withValue:(NSString *)value{
    [XMLString appendFormat:@"<%@>%@</%@> n",tag,value,tag];
}

-(void)addSelfClosedTag:(NSString *)tag withInnerValueTitle:(NSString *)innerValueTitle andValue:(NSString *)value{
    [XMLString appendFormat:@"<%@ %@=%@ /> n",tag,innerValueTitle,value];
}

-(void)addSelfClosedTag:(NSString *)tag withInnerString:(NSString *)innerString{
    [XMLString appendFormat:@"<%@ %@ /> n",tag,innerString];
}

-(void)addSingleTag:(NSString *)tag withInnerString:(NSString *)innerString{
    [XMLString appendFormat:@"<%@ %@ > n",tag,innerString];
}
-(void)addSingleValue:(NSString *)value{
    [XMLString appendFormat:@"%@ n",value];
}

-(void)addSingleTag:(NSString *)tag{
    [XMLString appendFormat:@"<%@> n",tag];
}

-(void)endSingleTag:(NSString *)tag{
    [XMLString appendFormat:@"</%@> n",tag];
}

-(void)closeXML{
    [XMLString appendFormat:@"n"];
}

-(void)dealloc{
    [super dealloc];
    [XMLString release];
}
@end
  

Я нашел этот код на http://www.iphonedevsdk.com/forum/tutorial-requests/34645-how-create-xml-file-dynamically.html.

Комментарии:

1. В основном мое требование заключается в том, что всякий раз, когда мы вводим имя, значение, изображение в текстовые поля и нажимаем, чтобы отправить в это время его добавление в xmlfile, если у вас есть какой-либо связанный код, пожалуйста, пришлите мне, чтобы я мог использовать этот. Или, пожалуйста, скажите мне, как обновить старый xml-файл на новый xml-файл. мое требование — добавить элемент в xmlfile, когда я нажимаю кнопку отправки, тогда значение, которое я ввожу в nametextfield, обновится в name, valuetextfield обновится как значение, а image textfield обновится как изображение. Пожалуйста, дайте мне любую идею, как это сделать. Спасибо