gpt4 book ai didi

java - getChildNodes() 在 XML 中为我的根返回 NULL

转载 作者:行者123 更新时间:2023-12-01 15:22:59 26 4
gpt4 key购买 nike

我的目标:获取 Node 对象中 XML 的根,然后对其进行评估!

我的问题:

我正在尝试从 XML 文件的根计算我的表达式,我有这个方法(我需要实现的是):

public Object evaluate(String expression, QName returnType);

假设我已经使用 Document 打开了 XML,如下所示:

        //load the document into a DOM Document
this.domFactory = DocumentBuilderFactory.newInstance();

domFactory.setNamespaceAware(true); // never forget this!

this.builder = domFactory.newDocumentBuilder();
this.doc = builder.parse("books.xml");

//create an XPath factory
this.factory = XPathFactory.newInstance();

//create an XPath Object
this.xpath = factory.newXPath();

现在,当我这样做时,在 public Objectvaluate(String expression, QName returnType);:

String unitedString = " my characters " ; 
rootNode = doc.getChildNodes().item(0);
System.out.println(rootNode.getNodeName()); // this line presents the name of the root
Object returnedObject= xpath.evaluate(unitedString,rootNode ,returnType); // this line makes eclipse go crazy

Eclispe 在第“4”行后说:“DTMManagerDefault.getDTMHandleFromNode(Node) 行:不可用”但在“3”行中,Eclipse 生成根的名称,即 inventory ...

那么我哪里出错了?

这是怎么回事?

谢谢大家, jack

最佳答案

第一:

您的 UnitedString 不是有效的 xPath 表达式,它应该类似于/root/node/xPath 描述 xml 文件中特定节点的路径。

第二个:

任何 xml 的根节点都是一个称为 DocumentElement 的特殊节点,您可以通过调用 doc.getDocumentElement() 来获取它

关于java - getChildNodes() 在 XML 中为我的根返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10597197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com