我想在一个查询中选择一个属性和一个节点的text()值,例如我有
<Tag1 @myattr='test'>MyText</Tag1>
我有兴趣获得&#34;测试&#34;和#34; MyText&#34;一个查询。
显而易见的
//Tag1/@myattr | //Tag1/text()
失败的原因是,Unions只允许通过节点集。
有什么想法吗?
答案 0 :(得分:1)
我认为,鉴于XPath 2.0,您需要一系列使用//Tag1/(@myattr, .)/string()
获得的字符串值。如果您想要一个字符串,请使用//Tag1/string-join((@myattr, .), ' ')
。
顺便说一句,您的路径//Tag1/@myattr | //Tag1/text()
将选择包含属性值和文本节点的序列。我不明白这会失败。