解析Xpath查询

时间:2012-02-21 07:21:48

标签: xml xpath

您好我对XPath有疑问。

我的xml文件如下所示。

<?xml version="1.0" encoding="UTF-8"?>

<name xmlns="http://localhost/book" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://localhost/book books.xsd">
Java and XML
</name>

这是xpath查询及其结果

/* - 返回元素“name”

/*/text() - 返回文本“Java and XML”

/name - 没有结果

/name/text() - 没有结果

为什么指定名称没有给出任何结果?

2 个答案:

答案 0 :(得分:1)

这是因为元素namehttp://localhost/book中声明。因此,在XPath查询中,您应该指定它。通常,您应该传递给XML引擎名称空间并使用前缀,然后使用完全限定名称查询XML,即:

/ns:name/text()

但是,您可以在查询中使用指定名称空间的其他技术,即:

/*[local-name() = 'name' and namespace-uri() = 'http://localhost/book']

答案 1 :(得分:0)

了解NamespaceManager以及如何在EditX中使用http://www.japisoft.com/doc-editix/manual/index.html#mozTocId544189