1

我想读取我的 xml 文件中的根元素。当我从 XPath 读取它时 "beans/bean/......",它工作正常。XML 输入文件开始:

<?xml version="1.0" encoding="UTF-8"?>
<!-- The file defines all the configurations of the SemanticServer -->
<beans>
  <bean class="org.spr 

但是当我用作根元素时

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans    
       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 

而不是<beans>它不起作用。

当根元素为空<beans>而不是 <beans xmlns="http......

谢谢!

4

1 回答 1

2

/beans在 XPath 1.0 中,总是意味着一个名为“beans”的元素,它没有与任何命名空间显式关联。如果是

<beans xmlns="http://www.springframework.org/schema/beans">

该元素位于http://www.springframework.org/schema/beans命名空间中,因此您需要将该命名空间 URI 映射到前缀,然后在路径表达式中使用该前缀。您如何进行前缀映射取决于您用于解释 xpath 的工具。例如,在 XSLT 中,xmlns:b="http://www.springframework.org/schema/beans"向样式表的根元素(不是输入文档)添加一个就足够了,然后您可以执行以下操作

<xsl:apply-templates select="/b:beans/b:bean"/>
于 2012-09-24T18:18:19.257 回答