2013-11-28 46 views
0

我对xpath有点新鲜。所以我不知道该怎么做。我有这个文件使用xpath从元素中加载值

<map>  
    <object name="object (1)"> 
     <position>564.014893 -7424.033691 35.448875</position> 
     <rotation>0.000000 0.000000 0.000000</rotation> 
     <model>3494</model> 
    </object> 
</map> 

正如你可以看到的位置;

564.014893 -7424.033691 35.448875

564.014893是X

-7424.033691为Y

35.448875为Z

如何加载X(或Y​​/Z)?

回答

1

如果您有xpath 2支持,则可以使用标记大小来分隔空间上的字符串。在X,Y和Z值将分别为:

tokenize(map/object/position, ' ')[1] 
tokenize(map/object/position, ' ')[2] 
tokenize(map/object/position, ' ')[3] 

如果你只得到了XPath 1的支持,您可以使用子-前和子串后的方法。 X,Y和Z值分别为:

substring-before(map/object/position, " ") 
substring-before(substring-after(map/object/position, " "), " ") 
substring-after(substring-after(map/object/position, " "), " ") 
+0

它说:无法识别的功能 也许我可以加载它们的任何一个? http://www.w3schools.com/xpath/xpath_syntax.asp – user3047108

+0

这两种解决方案都有无法识别的功能?你用什么来评估xpaths - 即支持哪些功能?我不认为你提供的链接会有所帮助,除非你想获取整个文本节点,然后使用xpath以外的其他东西解析文本。 –