gpt4 book ai didi

java - 尝试使用 Java 解析 XML 数据 - 出现错误 : "The method getNodeType() is undefined for the type NodeList"

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

我刚刚开始学习如何用 Java 处理/解析 XML 数据。我收到错误,“The method getNodeType() is undefined for the type NodeList”,在我的 for 循环之后,其中包含:

if (n.getNodeType() == Node.ELEMENT_NODE){

错误类型似乎是我忘记导入某些内容,但我相信我已经得到了所有内容。我在以下链接中使用来自 microsoft 的 XML 示例:

http://msdn.microsoft.com/en-us/library/ms762271(v=vs.85).aspx

提前致谢。

import java.io.*;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Element;

public class Files {

public static void main (String [] args) throws IOException, ParserConfigurationException{

String address = "/home/leo/workspace/Test/Files/src/file.xml";

File xmlFile = new File(address);

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = factory.newDocumentBuilder();
Document doc = dBuilder.parse(xmlFile);

doc.getDocumentElement().normalize();

System.out.println(doc.getDocumentElement().getNodeName());

NodeList n = doc.getElementsByTagName("book id");

for (int temp = 0; temp < n.getLength(); temp++){
System.out.println(n.item(temp));

if (n.getNodeType() == Node.ELEMENT_NODE){

Element e = (Element) n;

System.out.println("author : " + e.getAttribute("author"));
System.out.println("title : " + e.getAttribute("title") );
System.out.println("genre : " + e.getAttribute("genre"));
System.out.println("price : " + e.getAttribute("price"));
System.out.println("publish_date : " + e.getAttribute("publish_date"));
System.out.println("description : " + e.getAttribute("description"));

}
}

}

}

最佳答案

您正在对 NodeList 对象 (n) 调用 getNodeType()

您需要在 Node 对象上调用此函数。示例:

n.item(temp).getNodeType();

关于java - 尝试使用 Java 解析 XML 数据 - 出现错误 : "The method getNodeType() is undefined for the type NodeList",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24999122/

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