0
libxmlを使用してC++でテキスト値を取り出す方法は?ここでxpathを使ってlibxml2を使ってC++のxmlファイルからノードと特定の要素文字列を取り出す方法は?
はXMLです:
<?xml version="1.0" encoding="UTF-8"?>
<Help xmlns="http://www.example.org/HelpFileStructure" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/HelpFileStructure HelpFileStructure.xsd ">
<Text>dfgdfg</Text>
</Help>
コード:
void Help::HelpName()
{
string Help_text;
parser.parse_file(XmlFileName);
Node* root = parser.get_document()->get_root_node();
NodeSet result = root->find("/Help/Text");
Element *first_element = (Element *)result.at(0);
Help_text = first_element->get_child_text()->get_content();
}
xmlns = "http://www.example.org/HelpFileStructure"をxmlファイルから削除したとき。それは働いている。私はエラー "文字列リテラル演算子 '演算子"を見つけることができません "const char [39]で"ヘルプ "、長いロングunsigned int'引数"手順の後に – user3214224
この行のアプリケーションはクラッシュせずに作業をコメントしましたが、文字列値を取得しない要素* first_element =(要素*)result.at(0); – user3214224
更新された回答をご覧ください。 '.find()'の後に、質問に書かれているコードが、ノードセットから最初のノードのテキスト内容を取得することを期待していることがわかりました。 – sideshowbarker