XML 示例:
<first node>
<second node>
hello
</second node>
<third node>
abcd
</third node>
</first node>
如果 Xml 文件如上所示,并且我给出了输入路径“第一个节点/第二个节点”,那么我必须能够得到“hello”的结果。
如果输入路径是“第一个节点/第三个节点”,结果应该是“abcd”
您的 XML 无效:标签名称不能包含空格,并且结束标签的写法类似于</tag>
,而不是<tag/>
。
在这里,我为您修复了 XML:
<first-node>
<second-node>
hello
</second-node>
<third-node>
abcd
</third-node>
</first-node>
现在要获取second-node
和third-node
内容,您需要正确的 XPath 表达式,例如//first-node/second-node/text()
和//first-node/third-node/text()
.
这是完整的例子:
TiXmlDocument doc;
if (doc.LoadFile("example.xml"))
{
// Will be "hello"
TIXML_STRING s1 = TinyXPath::S_xpath_string(
doc.RootElement(),
"//first-node/second-node/text()");
// Will be "abcd"
TIXML_STRING s2 = TinyXPath::S_xpath_string(
doc.RootElement(),
"//first-node/third-node/text()");
}