我在iPhone上使用GDataXML(在后台使用libxml2)来读取XML文件中的名称列表。
<persons>
<person id=1>
<firstname>John<firstname>
<lastname>Doe<lastname>
</person>
</persons>
但是当我尝试用
连接first和lastname时/persons/person/concat(firstname, ' ', lastname)
它不适用于GDataXML。当使用.NET XML库尝试相同的示例或使用AquaPath进行测试时,它可以正常工作。
任何提示或其他替代方案才能让它发挥作用?
答案 0 :(得分:1)
但是当我第一次尝试连接时 姓氏
/persons/person/concat(firstname, ' ', lastname)
它不适用于GDataXML。
LibXML仅实现XPath 1.0 。
上面的表达式在XPath 1.0中语法不正确(它是一个正确的XPath 2.0表达式)。
当 用例子做同样的例子 .NET XML库或使用它进行测试 AquaPath它的工作原理。
您误解了.NET XML (除非您使用的是第三方XPath 2.0处理器,如Saxon,Altova或XQSharp) - .NET未实现XPath 2.0
<强>解决方案强>:
使用以下XPath 1.0表达式:
concat(/*/*/firstname, ' ', /*/*/lastname)