[英]MiniXML: parsing xml in C
I am parsing an xml file in C using Minixml. 我正在使用Minixml在C中解析一个xml文件。 I want to get the values "check-time", "check-key" etc from this small eg.
我想从这个小例子中获取值“ check-time”,“ check-key”等。 file:
文件:
<?xml version="1.0"?>
<!--Test-->
<myfile>
<command type="start">
<instance>check-time</instance>
<instance>check-key</instance>
<instance>check-position</instance>
<action type="press button">
<blue>1</blue>
</action>
</command>
</myfile>
Here is my code. 这是我的代码。 I dont know how to extract the data withing the tag.
我不知道如何使用标签提取数据。 Please help.
请帮忙。 Why is subnode->next not showing the next instance value?
为什么subnode-> next不显示下一个实例值?
fp = fopen( "trial.xml", "r" );
if(fp == NULL){
perror("file missing");
}
mxml_node_t *tree, *Asset_elem;
tree = mxmlLoadFile(NULL, fp,MXML_TEXT_CALLBACK);
fclose(fp);
Asset_elem = mxmlWalkNext(tree, tree, MXML_DESCEND_FIRST);
if(tree != NULL){
mxml_node_t *node, *subnode, *subsubnode;
for (node = mxmlFindElement(Asset_elem, tree,
"command",
"type", "start",
MXML_DESCEND);
node != NULL;
node = mxmlFindElement(node, Asset_elem,
"command",
"type", "start",
MXML_DESCEND))
{
printf("Inside for loop\n");
printf("node name= %s\n", node->value.element.name);
if(node){
subnode = mxmlFindElement(node, tree, "instance", NULL, NULL, MXML_DESCEND);
if(subnode != NULL){
printf("subnode name= %s\n", subnode->value.element.name);
subsubnode = subnode->child;
printf("subsubnode name= %s\n", subsubnode->value.text.string);
subsubnode = subnode->next;
printf("subsubnode name= %s\n", subsubnode->value.text.string);
}
}
}
Now it has don't use subnode, you can try use node->child->value.xxx
. 现在它没有使用子
node->child->value.xxx
,您可以尝试使用node->child->value.xxx
。 Good luck to you. 祝你好运。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.