【问题标题】:Error: Could not find or load main class while parsing an XML file错误:解析 XML 文件时无法找到或加载主类
【发布时间】:2014-06-25 05:28:51
【问题描述】:

我正在尝试将 XML 文件解析为 java 类。但它给了我一个错误说

找不到或无法加载主类

我正在解析的 XML 文件与 PretechDOMReader.java 文件位于同一目录中

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class PretechDOMReader {
       public static void main(String[] args) {
              try {
                     File fXmlFile = new File("PretechDOM.xml");
                     DocumentBuilderFactory dbFactory = DocumentBuilderFactory
                                  .newInstance();
                     DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
                     Document doc = dBuilder.parse(fXmlFile);
                     doc.getDocumentElement().normalize();
                     System.out.println("Order Details"
                                  + doc.getDocumentElement().getNodeName());
                     NodeList nList = doc.getElementsByTagName("Ordernumber");

                     for (int temp = 0; temp < nList.getLength(); temp++) { 
                           Node nNode = nList.item(temp);

                           if (nNode.getNodeType() == Node.ELEMENT_NODE) {
                                  Element eElement = (Element) nNode;
                                  Node orderedItem1 = (Node) (NodeList) eElement
                                                .getElementsByTagName("OrderedItem1").item(0)
                                                .getChildNodes().item(0);
                                  System.out.println("OrderedItem1   :"
                                                + orderedItem1.getNodeValue());

                                  Node orderitemPrice = (Node) (NodeList) eElement
                                                .getElementsByTagName("OrderitemPrice").item(0)
                                                .getChildNodes().item(0);
                                  System.out.println("OrderitemPrice   :"
                                                + orderitemPrice.getNodeValue());
                                  Node orderitemTax = (Node) (NodeList) eElement
                                                .getElementsByTagName("OrderitemTax").item(0)
                                                .getChildNodes().item(0);
                                  System.out.println("OrderitemTax   :"
                                                + orderitemTax.getNodeValue());
                                  Node orderDiscount = (Node) (NodeList) eElement
                                                .getElementsByTagName("OrderDiscount").item(0)
                                                .getChildNodes().item(0);
                                  System.out.println("OrderDiscount   :"
                                                + orderDiscount.getNodeValue());
                           }
                     }
              } catch (Exception e) {
                     e.printStackTrace();
              }
       }

}

这是我的 XML 文件

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Order>
    <Ordernumber Number="9988">
        <OrderedItem1>Pepsi</OrderedItem1>
        <OrderitemPrice>10</OrderitemPrice>
        <OrderitemTax>10</OrderitemTax>
        <OrderDiscount>20</OrderDiscount>
    </Ordernumber>
    <Ordernumber Number="9999">
        <OrderedItem1>Cocacola</OrderedItem1>
        <OrderitemPrice>11</OrderitemPrice>
        <OrderitemTax>11</OrderitemTax>
        <OrderDiscount>22</OrderDiscount>
    </Ordernumber>

【问题讨论】:

  • 正在使用什么命令行?该类是否属于package?你编译好源文件了吗?
  • 你怎么称呼这个?
  • @MADProgrammer 是的,该类属于默认包。我在 Eclipse 中运行这个类。@Alexandre Santos 你的意思是我如何调用 XML 文件?我通过文档生成器的 parse() 调用它
  • 你能在这里发布完整的堆栈跟踪错误吗?
  • 我自己试过了,效果很好。您是否尝试过清理和重建项目? Eclipse 的“问题”视图中是否有任何错误?

标签: java xml-parsing domparser


【解决方案1】:

您的代码运行良好。 请在 Eclipse 中检查项目的类路径设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-30
    • 2018-12-16
    • 2020-06-02
    • 1970-01-01
    • 2016-06-12
    • 2016-03-16
    • 2016-01-03
    相关资源
    最近更新 更多