<?xml version="1.0" encoding="GB2312"?>
<Body>
<Head fsfid="" jsfid="" sjblx="" scsj="20130815040000" jls="0010"/>
<Data>
<Item objectid="000232132400100" pollutant_code="CurDate" value="2013-08-15" equip_status="N"/>
<Item objectid="000232132400100" pollutant_code="CurTime" value="04:00:00" equip_status="N"/>
<Item objectid="000232132400100" pollutant_code="SO2" value="0.0438" equip_status="N" unit="mg/m3"/>
<Item objectid="000232132400100" pollutant_code="NO" value="0.0048" equip_status="N" unit="mg/m3"/>
<Item objectid="000232132400100" pollutant_code="NOX" value="0.0296" equip_status="N" unit="mg/m3"/>
<Item objectid="000232132400100" pollutant_code="NO2" value="0.0248" equip_status="N" unit="mg/m3"/>
<Item objectid="000232132400100" pollutant_code="PM10" value="0.0593" equip_status="N" unit="mg/m3"/>
<Item objectid="000232132400100" pollutant_code="TEMP" value="19.3" equip_status="N" unit="C"/>
<Item objectid="000232132400100" pollutant_code="RH" value="55.0" equip_status="N" unit="%"/>
<Item objectid="000232132400100" pollutant_code="BP" value="99.8" equip_status="N" unit="Kpa"/>
<Item objectid="000232132400100" pollutant_code="WD" value="196" equip_status="N" unit="deg"/>
<Item objectid="000232132400100" pollutant_code="WS" value="3.8" equip_status="N" unit="m/s"/>
</Data>
</Body>
小弟刚刚接触xml 请高手帮忙指点一下c语言xml
<Body>
<Head fsfid="" jsfid="" sjblx="" scsj="20130815040000" jls="0010"/>
<Data>
<Item objectid="000232132400100" pollutant_code="CurDate" value="2013-08-15" equip_status="N"/>
<Item objectid="000232132400100" pollutant_code="CurTime" value="04:00:00" equip_status="N"/>
<Item objectid="000232132400100" pollutant_code="SO2" value="0.0438" equip_status="N" unit="mg/m3"/>
<Item objectid="000232132400100" pollutant_code="NO" value="0.0048" equip_status="N" unit="mg/m3"/>
<Item objectid="000232132400100" pollutant_code="NOX" value="0.0296" equip_status="N" unit="mg/m3"/>
<Item objectid="000232132400100" pollutant_code="NO2" value="0.0248" equip_status="N" unit="mg/m3"/>
<Item objectid="000232132400100" pollutant_code="PM10" value="0.0593" equip_status="N" unit="mg/m3"/>
<Item objectid="000232132400100" pollutant_code="TEMP" value="19.3" equip_status="N" unit="C"/>
<Item objectid="000232132400100" pollutant_code="RH" value="55.0" equip_status="N" unit="%"/>
<Item objectid="000232132400100" pollutant_code="BP" value="99.8" equip_status="N" unit="Kpa"/>
<Item objectid="000232132400100" pollutant_code="WD" value="196" equip_status="N" unit="deg"/>
<Item objectid="000232132400100" pollutant_code="WS" value="3.8" equip_status="N" unit="m/s"/>
</Data>
</Body>
小弟刚刚接触xml 请高手帮忙指点一下c语言xml
解决方案 »
- 【求助】 windows 任务栏显示图标的问题
- 将数据流转换成JPEG图片时报各种不同的错,内存冲突的问题
- MFC 编译成的dll文件怎么执行----急急急急!!
- VC2008 MFC 下无法使用 AfxMessageBox?
- 标准库的string和Cstring之间如何转化?
- 处理树状结构数据有没有现成的类可用
- SkinMagic使用中的疑惑
- 如何在VC++中手工添加一组.h和.cpp文件?
- postmessage与sendmessage有和区别?
- SetTimer第2个参数最大可以设置多少
- MDI子框架(ChildFrame)内创建停靠窗口(CDockablePane)问题
- 求代码 ,如何自动关闭MFC(MID)中某个子窗口
#include <string.h>
#include <stdlib.h>
#include <libxml/xmlmemory.h>
#include <libxml/parser.h>void parseBody (xmlDocPtr doc, xmlNodePtr cur) {
xmlChar *ob; //objectid
xmlChar *po; //pollutant
xmlChar *va; //value
xmlChar *es; //equip_status
cur = cur->xmlChildrenNode;
while (cur != NULL) {
if ((!xmlStrcmp(cur->name, (const xmlChar *)"objectid"))) {
ob = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
printf("objectid: %s\n", ob);
xmlFree(ob);
}
if ((!xmlStrcmp(cur->name, (const xmlChar *)"pollutant"))) {
po = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
printf("pollutant: %s\n", po);
xmlFree(po);
}
if ((!xmlStrcmp(cur->name, (const xmlChar *)"value"))) {
va = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
printf("value: %s\n", va);
xmlFree(va);
}
if ((!xmlStrcmp(cur->name, (const xmlChar *)"equip_status"))) {
es = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1);
printf("equip_status: %s\n", es);
xmlFree(es);
}
cur = cur->next;
}
return;
}
static void parseDoc(char *docname) {
xmlDocPtr doc;
xmlNodePtr cur;
doc = xmlParseFile(docname);
if (doc == NULL ) {
fprintf(stderr,"Document not parsed successfully. \n");
return;
}
cur = xmlDocGetRootElement(doc);
if(cur == NULL){
fprintf(stderr,"empty document\n");
xmlFreeDoc(doc);
return;
}
if(xmlStrcmp(cur->name, (const xmlChar *) "Body")){
fprintf(stderr,"document of the wrong type, root node != Body");
xmlFreeDoc(doc);
return;
} cur = cur->xmlChildrenNode;
while(cur != NULL){
if((!xmlStrcmp(cur->name,(const xmlChar *)"Data"))){
parseBody(doc,cur);
} cur = cur->next;
} xmlFreeDoc(doc);
return;
}int main(int argc, char** argv){
char *docname; if(argc <= 1){
printf("Usage: %s docname\n", argv[0]);
} docname = argv[1];
parseDoc("11");//文件名为11.xml
return(1);
}我这么写的 请问对么?