Java 在节点内使用xpath不会获取值,但使用文档
我陷入了这样一种情况:我有一个节点列表,需要使用Java 在节点内使用xpath不会获取值,但使用文档,java,xml,xpath,Java,Xml,Xpath,我陷入了这样一种情况:我有一个节点列表,需要使用xpath从节点获取值 这是我正在尝试的 <book> <book1> <abc><fm>text</fm></abc> <def></def> <ghi></ghi> </book1> <book2> <abc><fm>text
xpath
从节点获取值
这是我正在尝试的
<book>
<book1>
<abc><fm>text</fm></abc>
<def></def>
<ghi></ghi>
</book1>
<book2>
<abc><fm>text</fm></abc>
<def></def>
<ghi></ghi>
</book2>
<bookN>
<abc><fm>text</fm></abc>
<def></def>
<ghi></ghi>
</bookN>
</book>
这里返回空字符串,请有人帮我:)
我也尝试了。//fm/text(),但没有用因为您有不同的节点,即book1、book2、book3等等,所以需要创建disti /book1/abc/fm /book2/abc/fm /book3/abc/fm XPath确实支持正则表达式。希望这有帮助
/[substring(name(), 4) = 'book']/abc/fm
理想情况下,您应该将XML结构化为:
<books>
<book>
<abc><fm>text</fm></abc>
<def></def>
<ghi></ghi>
</book>
<book>
<abc><fm>text</fm></abc>
<def></def>
<ghi></ghi>
</book>
<book>
<abc><fm>text</fm></abc>
<def></def>
<ghi></ghi>
</book>
</books>
文本
文本
文本
您没有结账
tag@tgdavies这就是typpoI在使用内容、XPATH和Java代码时正确返回的“文本”。你能提供生成bookNode
的代码吗?我在节点间循环,传递节点和表达式,你说的对文档有效,而不是对节点有效
<books>
<book>
<abc><fm>text</fm></abc>
<def></def>
<ghi></ghi>
</book>
<book>
<abc><fm>text</fm></abc>
<def></def>
<ghi></ghi>
</book>
<book>
<abc><fm>text</fm></abc>
<def></def>
<ghi></ghi>
</book>
</books>