c-在cprogram中解析特定元素的XML文件



目前正在通过c和c++解析xml

im使用c++中的puixml库和c中的libxml2库解析xml

假设xml中的根元素是"configuration",它有4个子元素,分别是protocolversion、servername、daklist和device。

现在我可以获得根元素(配置(,通过使用这个根,我想移动它的特定子元素(设备(,而不需要逐个移动。

在C++中,通过使用pugixml,我们可以直接从配置移动到它的子设备,doc.child("配置"(.child("设备"(.

在c中,通过使用libxml,我只需逐个移动子级,如果cur节点是root(配置(,则im使用,cur=cur->children->next->next->next->next->next->next->next(用于从配置移动到设备(

下一步我不想搬家。。我想要一个简单的函数通过libxml从c中的当前节点移动到特定节点。。有人能帮忙解决这个问题吗。。?

->next->next...方法假定节点布局固定,并且不可靠。我建议你:

  • 迭代子项,直到找到一个具有
    • child->type == XML_ELEMENT_NODE
    • strcmp((char *)child->name, "device") == 0
    • xmlStrcmp(child->name, BAD_CAST "device") == 0
  • 使用XPath查找与/configuration/device匹配的节点

相关内容

  • 没有找到相关文章

最新更新