Java 如何使用Xpath正确地从XML传递对象

Java 如何使用Xpath正确地从XML传递对象,java,xml,xpath,Java,Xml,Xpath,我将试着描述我的问题。 我有下一个结构的XML文档(不要看俄语文本,没关系): bookID-这是用户输入(例如这样的) 所以我们的想法是从xml节点返回这个对象,我们在字符串中找到了当前id,这样我就可以将它放入另一个xml中 像 我必须为你工作 //Book[bookId/text()='709F']/bookName/text() 请添加最后一个元素(以便人们可以复制/粘贴)@DmytroPastovenskyi resolve我刚刚检查过。你的要求在那里有效。您能在那个里再次检查XML

我将试着描述我的问题。 我有下一个结构的XML文档(不要看俄语文本,没关系):

bookID
-这是用户输入(例如这样的)

所以我们的想法是从xml节点返回这个对象,我们在字符串
中找到了当前id,这样我就可以将它放入另一个xml中

我必须为你工作

//Book[bookId/text()='709F']/bookName/text()

请添加最后一个元素(以便人们可以复制/粘贴)@DmytroPastovenskyi resolve我刚刚检查过。你的要求在那里有效。您能在那个里再次检查XML和xpath吗?@DmytroPastovenskyi是的,这个请求将查找bookId,但我的问题是从字符串中的find对象获取bookName的值。
 FileInputStream fileInputStream = new FileInputStream("Test/Books.xml");
            DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();

            Document document = documentBuilder.parse(fileInputStream);

            XPathFactory xPathFactory = XPathFactory.newInstance();
            XPath xPath = xPathFactory.newXPath();

            Node node = (Node) xPath
                    .evaluate("//Book[bookId/text()='" + bookID + "']", document.getDocumentElement(), XPathConstants.NODE);
Scanner sc = new Scanner(System.in, "cp866");
String bookID;
bookID = sc.nextLine();
String takenBookName = new XMLDocument(xml).xpath("/Books/Book/bookName/text").get(0); //it will doesnt work ;)
//Book[bookId/text()='709F']/bookName/text()