Gamestudio Links
Zorro Links
Newest Posts
Z9 getting Error 058
by k_ivan. 04/20/26 15:57
Stooq now requires an API key
by jcl. 04/13/26 09:42
Strange "Alien" Skull created with >Knubber<
by NeoDumont. 04/10/26 18:58
400 free seamless texture pack downl. here !
by NeoDumont. 04/08/26 19:55
ZorroGPT
by TipmyPip. 04/08/26 17:08
AUM Magazine
Latest Screens
Dorifto samurai
Shadow 2
Rocker`s Revenge
Stug 3 Stormartillery
Who's Online Now
3 registered members (TipmyPip, Grant, AndrewAMD), 3,498 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
Newest Members
juergenwue, VladMak, Geir, ondrej, mredit
19208 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
LiteC + XML #414950
01/11/13 00:35
01/11/13 00:35
Joined: Nov 2007
Posts: 318
Brasil, Paraná
NeoNeper Offline OP
Senior Member
NeoNeper  Offline OP
Senior Member

Joined: Nov 2007
Posts: 318
Brasil, Paraná
Is there any solution to load data from xml in LiteC A8 or A7?


Please! Use easy words to be translated. because my English is not very good! Grateful.
_______________________________________________________
Re: LiteC + XML [Re: NeoNeper] #414951
01/11/13 08:20
01/11/13 08:20
Joined: Mar 2006
Posts: 1,993
Karlsruhe
PadMalcom Offline
Serious User
PadMalcom  Offline
Serious User

Joined: Mar 2006
Posts: 1,993
Karlsruhe
Hey NeoNeper, ask Firoball! Maybe he still has his old XML-Library (which is pretty good!).

Re: LiteC + XML [Re: PadMalcom] #414977
01/12/13 00:05
01/12/13 00:05
Joined: Nov 2007
Posts: 318
Brasil, Paraná
NeoNeper Offline OP
Senior Member
NeoNeper  Offline OP
Senior Member

Joined: Nov 2007
Posts: 318
Brasil, Paraná
Thanks brother, I'll ask him! (^.^)


Please! Use easy words to be translated. because my English is not very good! Grateful.
_______________________________________________________
Re: LiteC + XML [Re: NeoNeper] #414983
01/12/13 11:27
01/12/13 11:27
Joined: Dec 2009
Posts: 128
China
frankjiang Offline
Member
frankjiang  Offline
Member

Joined: Dec 2009
Posts: 128
China
Code:
XMLList* xml_create(char* _string,char* _parentNode){
	
	//&#21435;&#25481;&#22238;&#36710;&#31526;
	char rep[3];
	memset(rep,0,3);
	rep[0]=0x0D;
	rep[1]=0x0A;
	tool_strReplace(_string,rep,"");
	
	//&#21435;&#25481;tab&#38190;
	memset(rep,0,2);
	rep[0]=0x09;
	tool_strReplace(_string,rep,"");

	XMLList* t = Mem_malloc(sizeof(XMLList));
	char* p=_string;
	int len=strlen(_string);
	
	int i=0;
	char c;

	char node[_NODE_SIZE];
	memset(node,0,_NODE_SIZE);
	sprintf(node,"</%s>",_parentNode);
	char tstr[_STR_SIZE];
	memset(tstr,0,_STR_SIZE);
	t->tmp = LStack_create();
	while(i<len){
		char ch=p[i];
		char* str = tstr;
		char c[2];
		memset(c,0,2);
		c[0]=ch;
		strcat(str,c);
		if(strlen(str)>0&&ch=='>'){
			int m;
			char ks[_KS_SIZE];
			memset(ks,0,_KS_SIZE);
			strcat(ks,str);
			int sInd=tool_findString(ks,node);
			int _len = strlen(node);
			if(strlen(ks)!=_len && sInd==0){
				tool_strclip(str,_len);
			}
			m=strcmp(ks,"</");
			if(m==1 &&  strcmp(str,node)!=0){
				XMLNode* pNode=Mem_malloc(sizeof(XMLNode));
				memset(pNode->nodeData,0,_NODE_SIZE);
				char* chs=str;
				char* sc=pNode->nodeData;
				memset(sc,0,strlen(chs)+1);
				memcpy(sc,chs,strlen(chs));
								
				//printf("(%s)",sc);
				//printf("address:%p",sc);
				
				LStack_push(t->tmp,pNode);
				memset(tstr,0,_STR_SIZE);
				str=tstr;
			}
		}
		i++;
	}
	return t;
}

char* xml_seach(T* t,char* dest,char* ___id,char* find,char* res){

	LStackNode* top=t->tmp;
	LStackNode* p=top;
	while(p.next!=NULL){
		p=p.next;
		int d=p->data;
		XMLNode* pNode = (XMLNode*)d;
		char* c =pNode->nodeData;
		char temp[_KS_SIZE];
		memset(temp,0,_KS_SIZE);
		xml_child(temp,c,find);
		
		int i = strlen(temp);
		if(i>0){
			tool_strtrunc(temp,i-strlen(res));
			if(strcmp(temp,res)==0){
				xml_child(dest,c,res);
				break;
			}
		}
    }
}

void xml_delete(T* t){
	LStackNode* top=t->tmp;
	LStackNode* p=top;
	p=top;
	while(p->next!=NULL){
		p=p->next;
		Mem_free((XMLNode*)(p->data));
	}
	
	LStack_delete(t->tmp);
	Mem_free(t);
}
void xml_child(char* str,char*c,char* res){
	int x=tool_findString(c,res);
	strcat(str,c);
	tool_strclip(str,x+strlen(res)+2);
	int d=tool_findChar(str,'\'');
	tool_strtrunc(str,strlen(str)-d);
}



development 3d game is interesting!
Re: LiteC + XML [Re: frankjiang] #414984
01/12/13 11:29
01/12/13 11:29
Joined: Dec 2009
Posts: 128
China
frankjiang Offline
Member
frankjiang  Offline
Member

Joined: Dec 2009
Posts: 128
China
Code:
void exampleXML(){
	
//	data.xml
//
//	<itempart name='sdd' itemid='121113' partpos='2'></itempart>
//	<itempart name='wuwuw' itemid='122113' partpos='3'></itempart>	
	
		
		STRING* str = str_create("#0");
		var file;
		file = file_open_read("data.xml");		if(file==0){
			ptr_remove(str);
			printf("%s don t find file!");
		}else{
			file_str_readto(file,str,"",0);
			file_close(file);
	
			#define SIZE 2048

			char _string[SIZE];
			memset(_string,0,SIZE);
			strcat(_string,str->chars);
			ptr_remove(str);
			
//			printf("length:%d",strlen(_string));
			
			//
			XMLList* xml=xml_create(_string,"itempart");//
			
			
			LStackNode* top=xml->tmp;
			LStackNode* p=top;
			
			while(p.next!=NULL){
				p=p.next;
				int d=p->data;
				char* c=(char*)d;
		    
		    	char a[SIZE];
		    	memset(a,0,SIZE);
		    	xml_child(a,c,"name");
		    	
		    	
		    	char b[SIZE];
		    	memset(b,0,SIZE);
		    	xml_child(b,c,"itemid");
				//		    	
		    	printf("%s,%s",a,b);
		    }
		    			
			char dest[SIZE];
			memset(dest,0,SIZE);
		    xml_seach(xml,dest,"id","122113","partpos");
		  	if(strlen(dest)==0){
		  		printf("not find");	
		  	}else{
		    	printf("%s",dest);		//	3
			}
			xml_delete(xml);
		}
		
		#undef SIZE
}



Last edited by frankjiang; 01/12/13 11:30.

development 3d game is interesting!
Re: LiteC + XML [Re: frankjiang] #414998
01/12/13 16:20
01/12/13 16:20
Joined: Nov 2007
Posts: 318
Brasil, Paraná
NeoNeper Offline OP
Senior Member
NeoNeper  Offline OP
Senior Member

Joined: Nov 2007
Posts: 318
Brasil, Paraná
hello frankjiang!
What you posted is not native lite.C.

Could you explain to me what would it be? if you use any DLL?


Please! Use easy words to be translated. because my English is not very good! Grateful.
_______________________________________________________
Re: LiteC + XML [Re: NeoNeper] #415190
01/14/13 20:14
01/14/13 20:14
Joined: Nov 2007
Posts: 318
Brasil, Paraná
NeoNeper Offline OP
Senior Member
NeoNeper  Offline OP
Senior Member

Joined: Nov 2007
Posts: 318
Brasil, Paraná
Fireball already passed me the files. thank you friends


Please! Use easy words to be translated. because my English is not very good! Grateful.
_______________________________________________________

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1