Gamestudio Links
Zorro Links
Newest Posts
loading historical data 1st time
by AndrewAMD. 04/14/23 12:54
Trade at bar open
by juanex. 04/13/23 19:43
Bug in Highpass2 filter
by rki. 04/13/23 09:54
Adding Limit Orders For IB
by scatters. 04/11/23 16:16
FisherN
by rki. 04/11/23 08:38
AUM Magazine
Latest Screens
SHADOW (2014)
DEAD TASTE
Tactics of World War I
Hecknex World
Who's Online Now
2 registered members (juanex, AndrewAMD), 988 guests, and 8 spiders.
Key: Admin, Global Mod, Mod
Newest Members
rki, FranzIII, indonesiae, The_Judge, storrealba
18919 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){
	
	//去掉回车符
	char rep[3];
	memset(rep,0,3);
	rep[0]=0x0D;
	rep[1]=0x0A;
	tool_strReplace(_string,rep,"");
	
	//去掉tab键
	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 | chip programmers | 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