0
<?xml version="1.0" encoding="UTF-8" ?>
<BO xmlns="http://hg.com/bo" 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xsi:schemaLocation="http://hg.com/bo http://hg.com/bo.xsd">
<b>Harsh</b>
</BO>

I am trying to read Harsh present inside tag using XPath.

When the namespace is not present, I can use this javascript line

var path = "/BO/b";
var nodes=xml.evaluate(path, xml, null, XPathResult.ANY_TYPE, null);

What change should I make in the path so that I am able to fetch the node b?

4

1 回答 1

0

为了在(默认)命名空间中定义的 XML 内容上使用 XPath 表达式,您需要指定命名空间前缀映射。您需要某种方式在您的 XPath 表达式中指定您正在查找 'http://hg.com/bo' 命名空间中的所有 'b' 元素。

在您的情况下,您可以使用“ex”前缀并将此前缀映射到“http://hg.com/bo”命名空间 URI。这将导致以下 XPath 表达式应返回在“http://hg.com/bo”命名空间中声明的所有“b”元素:“//ex:/BO/b”。

于 2012-04-25T10:12:40.970 回答