我有一个巨大的xml文档。当我用xpath = // requestHeader测试时,返回结果如下:
<requestHeader>
<!--Optional:-->
<req:clientCode xmlns:req="http://www.ibb.com/ws/requestHeader">?</req:clientCode>
<!--Optional:-->
<req:clientUsername xmlns:req="http://www.ibb.com/ws/requestHeader">CC</req:clientUsername>
<!--Optional:-->
<req:channel xmlns:req="http://www.ibb.com/ws/requestHeader">?</req:channel>
<!--Optional:-->
</requestHeader>
而且,我需要获取clientUsername值。不幸的是// requestHeader // req:clientUsername返回空字符串。这有什么问题?
答案 0 :(得分:1)
尝试在req
中指定namespaceContext
:
答案 1 :(得分:0)
将您的命名空间放在xml文件的顶部,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<requestHeader xmlns:req="http://www.ibb.com/ws/requestHeader">
<!--Optional:-->
<req:clientCode>?</req:clientCode>
<!--Optional:-->
<req:clientUsername>CC</req:clientUsername>
<!--Optional:-->
<req:channel>?</req:channel>
<!--Optional:-->
</requestHeader>
现在你可以像这样使用xpath
//requestHeader/req:clientUsername