0
libxml2を使ってxmlの属性を取得し、それをC++のstlマップに保存したいですか?あなたはすでにあなたのXML文字列/ファイルを解析されてきた、とすでにあなたがプロパティをマップするノードを持っている場合はlibxml2で属性を取得し、C++のstl mapに保存する方法は?
libxml2を使ってxmlの属性を取得し、それをC++のstlマップに保存したいですか?あなたはすでにあなたのXML文字列/ファイルを解析されてきた、とすでにあなたがプロパティをマップするノードを持っている場合はlibxml2で属性を取得し、C++のstl mapに保存する方法は?
することは、それはこのようなものでなければなりません。もちろん
xmlNodePtr yournode = ...;
std::map<std::string, std::string> yourmap;
for(xmlAttrPtr attr = yournode->properties; attr != NULL; attr = attr->next)
{
yourmap[attr->name] = xmlGetProp(yournode, attr->name);
}
、名前空間は考慮されませんこの例では、あなたが名前空間を使用している場合は、代わりに次のことを試みることができる:
yourmap[attr->name] = xmlGetNsProp(yournode, attr->name, attr->ns->href);
もちろん、徹底的にNULL
値をチェックする必要があります。
あなたは何をしようとしているのか詳しく説明できますか?また、libXML2のどの解析APIを使用していますか? –
ノードごとにすべての属性を取得し、マップに保存して、必要な特定のノードのすべての属性を簡単に取得したいと考えています。また、ノードごとにクラスを作成し、それをリストコンテナに保存します。 – joi