使用XPath查询搜索String的一部分
|
我正在使用以下XPath查询来搜索书籍作者的姓名,并在与作者匹配时返回书籍名称。
String rawXPath = String.format(\"//book[author= \'%s\']/bookname/text()\", authorBook);
XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
XPathExpression expr
= xpath.compile(rawXPath);
Object result = expr.evaluate(doc, XPathConstants.NODESET);
NodeList nodes = (NodeList) result;
for (int i = 0; i < nodes.getLength(); i++) {
System.out.println(nodes.item(i).getNodeValue());
}
如何修改搜索,以便可以在内容..... / content(节点名称)中搜索特定单词。
示例:xml内容变量中的字符串:\“这本书包含了我们祖先的荣耀和历史。它在我们日常生活中的影响是巨大的。”
现在,我要搜索单词“ daily”。如果每天匹配,它将使我重新调整用户想要的书名/作者名。
谢谢
没有找到相关结果
已邀请:
4 个回复
细屠截殴些
Xpath函数。
取决于您输入XML的结构
栖很钾是狠
这将选择作为文档中任何
元素的子元素的
元素的子元素的
节点,其whose7ѭ子元素的字符串值包含
字符串(包含在其中)和
元素的字符串值相同作为contained10ѭ变量(包含在其中的字符串) 在此Xpath表达式中,变量需要用特定的字符串替换。另外,假定元素“ 7”是“ 6”的子元素。 我不懂Java,但假设最终的Java代码如下所示:
邦绊门蔽惩
那么您可以尝试:
意思是“给予任何书本元素任何孩子拥有包含单词'daily \'的文本。 希望对您有所帮助!干杯!
辩谷变充
为每个节点以及节点名称和ur输入一个反斜杠。