我在iPhone应用程序中使用xpath和LibXML来查找xml文档中的某些节点。我是xpath的noob,所以我可能做错了什么。 下面是XML:LibXML找不到我的xpath表达式的任何节点
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetUserByEmailResponse xmlns="http://tempuri.org/">
<GetUserByEmailResult>
<id>4006</id>
<name>Kudor Gyozo</name>
<email/>
<image/>
<facebookId>0</facebookId>
</GetUserByEmailResult>
</GetUserByEmailResponse>
</soap:Body>
</soap:Envelope>
XPath表达式是//GetUserByEmailResult
。没有节点返回。我期待回到<GetUserByEmailResult>
。如果我测试相同的东西here它工作正常。
UPDATE1:这是我从.net web服务返回的内容。有没有办法忽略libxml中的命名空间?
是这个工程非常感谢。顺便说一句,有没有办法忽略命名空间? – 2010-10-01 05:59:15
@kudor gyozo:是的,您可以忽略命名空间,只需按照Wrikken的回答中的建议检查XPath表达式中的本地名称即可。 – 2010-10-01 12:32:58