[Xitami-Dev] Re: using sfl xml library support makes problem
Shivakumar Gopalakrishnan
xitami-dev@lists.xitami.org
Fri, 12 Sep 2003 10:49:17 -0700 (PDT)
--0-2040404336-1063388957=:96547
Content-Type: text/plain; charset=us-ascii
Content-Id:
Content-Disposition: inline
Hi
I did not look into the xml file in detail. So yes
xml_get_attr_ic will not work as the file has items
not attributes. Anyway you should use the macro
FORVALUES
to get the item values.
Here is a complete command line program which reads
from C:\userfile.xml. Everything is hardcoded and
reads only one level of the xml tree. Should not be
hard to extend it. I have also attached the file in
case it is hard to copy.
// xmlreader.cpp : Simple xml reader
//
// By Shivakumar Gopalakrishnan
#include "stdafx.h"
#include "sfl.h"
int main(int argc, char* argv[])
{
int rc;
XML_ITEM *xml_root,
*xml_source, * xml_domain_item, * xml_child, *
xml_value_child;
char * name, * value;
xml_root = xml_create (NULL, NULL);
rc = xml_load_file (& xml_root, "C:",
"userfile.xml", FALSE);
if (rc == XML_NOERROR)
{
// gets the root
xml_source = xml_first_child (xml_root);
char * item_name = xml_item_name(xml_source);
printf("item name = %s\n", item_name);
// now get the "Domain" item
xml_domain_item = xml_first_child (xml_source);
item_name = xml_item_name(xml_domain_item);
printf("\titem name = %s\n", item_name);
FORCHILDREN (xml_child, xml_domain_item)
{
name = xml_item_name (xml_child);
printf("\t\titem name = %s\n", name);
FORVALUES (xml_value_child, xml_child) {
value = xml_item_value (xml_value_child);
printf("\t\t\titem value = %s\n", value);
}
}
xml_free (xml_root);
}
else
{
fprintf (stderr, "xmlreader E: Error
processing C:\\userfile.xml...\n");
fprintf (stderr, xml_error ());
}
return 0;
}
> Today's Topics:
>
> 1. using sfl xml library support makes problem
> (Thomas Burghardt)
> 2. Delphi 6.0 LRWP component (Travis)
>
> --__--__--
>
> Message: 1
> From: "Thomas Burghardt"
> <thomas.burghardt@onlinehome.de>
> To: <xitami-dev@lists.xitami.org>
> Date: Thu, 11 Sep 2003 09:07:19 +0200
> Organization: Worms & Partner
> Subject: [Xitami-Dev] using sfl xml library support
> makes problem
> Reply-To: xitami-dev@lists.xitami.org
>
> This is a multi-part message in MIME format.
>
> ------=_NextPart_000_0086_01C37844.1A4BCB70
> Content-Type: text/plain;
> charset="iso-8859-1"
> Content-Transfer-Encoding: quoted-printable
>
> Dear programmers,
> I try it again, because the question is really
> important for us. We =
> would like to use the SFL
> library, but the XML support of the library did not
> really work. A user =
> of the xitami mailing list told me, i should take
> the function =
> xml_get_attr_ic, but this did not work again.=20
> Please tell me if i can read the value
> 'UNEMPLOYMENT' in my xml file =
> (see the following section) with the sfl xml
> functions or not (and how)?
> Thank you very much. =20
>
> The xml files looks like this short example:
> <Statistical_Metadata>=20
> <Domain>
> <name>UNEMPLOYMENT</name>=20
> <label>VABOIUS INDICATORS CONCERNING THE
> UNEMPLOYMENT AND WORKING =
> POPULATION IN EU</label>=20
> </Domain>
> </Statistical_Metadata>
>
--0-2040404336-1063388957=:96547
Content-Type: application/octet-stream; name="StdAfx.cpp"
Content-Transfer-Encoding: base64
Content-Description: StdAfx.cpp
Content-Disposition: attachment; filename="StdAfx.cpp"
Ly8gc3RkYWZ4LmNwcCA6IHNvdXJjZSBmaWxlIHRoYXQgaW5jbHVkZXMganVz
dCB0aGUgc3RhbmRhcmQgaW5jbHVkZXMNCi8vCXhtbHJlYWRlci5wY2ggd2ls
bCBiZSB0aGUgcHJlLWNvbXBpbGVkIGhlYWRlcg0KLy8Jc3RkYWZ4Lm9iaiB3
aWxsIGNvbnRhaW4gdGhlIHByZS1jb21waWxlZCB0eXBlIGluZm9ybWF0aW9u
DQoNCiNpbmNsdWRlICJzdGRhZnguaCINCg0KLy8gVE9ETzogcmVmZXJlbmNl
IGFueSBhZGRpdGlvbmFsIGhlYWRlcnMgeW91IG5lZWQgaW4gU1REQUZYLkgN
Ci8vIGFuZCBub3QgaW4gdGhpcyBmaWxlDQo=
--0-2040404336-1063388957=:96547
Content-Type: application/octet-stream; name="StdAfx.h"
Content-Transfer-Encoding: base64
Content-Description: StdAfx.h
Content-Disposition: attachment; filename="StdAfx.h"
Ly8gc3RkYWZ4LmggOiBpbmNsdWRlIGZpbGUgZm9yIHN0YW5kYXJkIHN5c3Rl
bSBpbmNsdWRlIGZpbGVzLA0KLy8gIG9yIHByb2plY3Qgc3BlY2lmaWMgaW5j
bHVkZSBmaWxlcyB0aGF0IGFyZSB1c2VkIGZyZXF1ZW50bHksIGJ1dA0KLy8g
ICAgICBhcmUgY2hhbmdlZCBpbmZyZXF1ZW50bHkNCi8vDQoNCiNpZiAhZGVm
aW5lZChBRlhfU1REQUZYX0hfXzhEOUI2NzQyX0U1NDNfMTFEN19CMkNBXzAw
QzBGMDVCMjJEQ19fSU5DTFVERURfKQ0KI2RlZmluZSBBRlhfU1REQUZYX0hf
XzhEOUI2NzQyX0U1NDNfMTFEN19CMkNBXzAwQzBGMDVCMjJEQ19fSU5DTFVE
RURfDQoNCiNpZiBfTVNDX1ZFUiA+IDEwMDANCiNwcmFnbWEgb25jZQ0KI2Vu
ZGlmIC8vIF9NU0NfVkVSID4gMTAwMA0KDQojZGVmaW5lIFdJTjMyX0xFQU5f
QU5EX01FQU4JCS8vIEV4Y2x1ZGUgcmFyZWx5LXVzZWQgc3R1ZmYgZnJvbSBX
aW5kb3dzIGhlYWRlcnMNCg0KI2luY2x1ZGUgPHN0ZGlvLmg+DQoNCi8vIFRP
RE86IHJlZmVyZW5jZSBhZGRpdGlvbmFsIGhlYWRlcnMgeW91ciBwcm9ncmFt
IHJlcXVpcmVzIGhlcmUNCg0KLy97e0FGWF9JTlNFUlRfTE9DQVRJT059fQ0K
Ly8gTWljcm9zb2Z0IFZpc3VhbCBDKysgd2lsbCBpbnNlcnQgYWRkaXRpb25h
bCBkZWNsYXJhdGlvbnMgaW1tZWRpYXRlbHkgYmVmb3JlIHRoZSBwcmV2aW91
cyBsaW5lLg0KDQojZW5kaWYgLy8gIWRlZmluZWQoQUZYX1NUREFGWF9IX184
RDlCNjc0Ml9FNTQzXzExRDdfQjJDQV8wMEMwRjA1QjIyRENfX0lOQ0xVREVE
XykNCg==
--0-2040404336-1063388957=:96547
Content-Type: application/octet-stream; name="xmlreader.cpp"
Content-Transfer-Encoding: base64
Content-Description: xmlreader.cpp
Content-Disposition: attachment; filename="xmlreader.cpp"
Ly8geG1scmVhZGVyLmNwcCA6IFNpbXBsZSB4bWwgcmVhZGVyDQovLw0KLy8g
QnkgU2hpdmFrdW1hciBHb3BhbGFrcmlzaG5hbg0KDQoNCiNpbmNsdWRlICJz
dGRhZnguaCINCiNpbmNsdWRlICJzZmwuaCINCg0KaW50IG1haW4oaW50IGFy
Z2MsIGNoYXIqIGFyZ3ZbXSkNCnsNCiAgICBpbnQgcmM7DQoJWE1MX0lURU0g
ICAgKnhtbF9yb290LA0KCQkqeG1sX3NvdXJjZSwgKiB4bWxfZG9tYWluX2l0
ZW0sICogeG1sX2NoaWxkLCAqIHhtbF92YWx1ZV9jaGlsZDsNCg0KCWNoYXIg
KiBuYW1lLCAqIHZhbHVlOw0KDQoJDQogICAgeG1sX3Jvb3QgPSB4bWxfY3Jl
YXRlIChOVUxMLCBOVUxMKTsNCiAgICByYyA9IHhtbF9sb2FkX2ZpbGUgKCYg
eG1sX3Jvb3QsICJDOiIsICJ1c2VyZmlsZS54bWwiLCBGQUxTRSk7DQogICAg
aWYgKHJjID09IFhNTF9OT0VSUk9SKQ0KCXsNCgkJLy8gZ2V0cyB0aGUgcm9v
dA0KCQl4bWxfc291cmNlID0geG1sX2ZpcnN0X2NoaWxkICh4bWxfcm9vdCk7
DQoJCWNoYXIgKiBpdGVtX25hbWUgPSB4bWxfaXRlbV9uYW1lKHhtbF9zb3Vy
Y2UpOw0KCQlwcmludGYoIml0ZW0gbmFtZSA9ICVzXG4iLCBpdGVtX25hbWUp
Ow0KDQoJCS8vIG5vdyBnZXQgdGhlICJEb21haW4iIGl0ZW0NCgkJeG1sX2Rv
bWFpbl9pdGVtID0geG1sX2ZpcnN0X2NoaWxkICh4bWxfc291cmNlKTsNCgkJ
aXRlbV9uYW1lID0geG1sX2l0ZW1fbmFtZSh4bWxfZG9tYWluX2l0ZW0pOw0K
CQlwcmludGYoIlx0aXRlbSBuYW1lID0gJXNcbiIsIGl0ZW1fbmFtZSk7DQoN
CgkJRk9SQ0hJTERSRU4gKHhtbF9jaGlsZCwgeG1sX2RvbWFpbl9pdGVtKQ0K
CQl7DQoJCQluYW1lID0geG1sX2l0ZW1fbmFtZSAgKHhtbF9jaGlsZCk7DQoJ
CQlwcmludGYoIlx0XHRpdGVtIG5hbWUgPSAlc1xuIiwgbmFtZSk7DQoJDQoJ
CQlGT1JWQUxVRVMgKHhtbF92YWx1ZV9jaGlsZCwgeG1sX2NoaWxkKSB7DQoJ
CQkJdmFsdWUgPSB4bWxfaXRlbV92YWx1ZSAoeG1sX3ZhbHVlX2NoaWxkKTsN
CgkJCQlwcmludGYoIlx0XHRcdGl0ZW0gdmFsdWUgPSAlc1xuIiwgdmFsdWUp
Ow0KDQoJCQl9DQoJCX0NCiAgICAgICAgeG1sX2ZyZWUgKHhtbF9yb290KTsN
Cgl9DQogICAgZWxzZQ0KCXsNCiAgICAgICAgZnByaW50ZiAoc3RkZXJyLCAi
eG1scmVhZGVyIEU6IEVycm9yIHByb2Nlc3NpbmcgQzpcXHVzZXJmaWxlLnht
bC4uLlxuIik7DQogICAgICAgIGZwcmludGYgKHN0ZGVyciwgeG1sX2Vycm9y
ICgpKTsNCgl9DQoJcmV0dXJuIDA7DQp9DQoNCg==
--0-2040404336-1063388957=:96547--