2016-12-01 80 views
0

我一直在努力尝试使用xpath和xml从节点名称和属性值中提取值。我已经搜索了很多次,但没有发现任何关于我的特殊问题的String =成为返回输出的一部分。xpath输出包括“字符串=”

我认为我的语法正确,但以某种方式尝试通过xpath提取值时,我得到了String ='value'而不是value。

当我尝试

string(/Data/child::object1/string(@display_value)) 

输出为String='482899',而我所希望的482899(或'482899')。与此类似:

name(/Data/child::object1) 

这就是返回String='object1'

我正在使用的XML是静态的(我无法编辑它的格式,这是为什么我有这样的折磨xpath的一部分)。以下是XML的部分样本:

<?xml version="1.0"?> 
<Data> 
    <object1 display_value="482899" /> 
    <object2 display_value="61317 " /> 
</Data> 

任何帮助或指导,将不胜感激。

+1

'string'只显示输出。你如何运行你的代码?我相信你可以关闭程序中的输出类型。 – Rentrop

+0

Floo0和kjhughes是正确的 - 'String ='不是来自XPath。它来自您正在评估XPath的环境(如编程语言)。告诉我们这个环境,有人可以帮助你解决问题。 – LarsH

回答

2

String=不是XPath本身所选内容的一部分。相反,它只是您正在使用的特定XPath库的用户界面,试图有助于确定您选择了字符串而不是元素,属性等。