<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Order_CRM_root>
<SiebelMessage MessageId="1-C5E7D4" IntObjectName="Order Entry (Billing)" MessageType="Integration Object" IntObjectFormat="Siebel Hierarchical">
<ns0:ListOfOrderEntryBilling xmlns:ns0="http://www.siebel.com/xml/Order Entry (Billing)">
<OrderEntry-OrdersIo>
<OrderNumber>1-1BR0-6114</OrderNumber>
在Java里面这样读,哪里错了???
List list = document.selectNodes("//SiebelMessage/ns0:ListOfOrderEntryBilling/OrderEntry-OrdersIo/OrderNumber");急

解决方案 »

  1.   

    把xml文件贴完全,错误信息,也贴出来
      

  2.   

    xml文件太大了,提示找不到类
      

  3.   

    Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/NamespaceContext
    at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230)
    at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:207)
    at org.dom4j.tree.AbstractNode.selectNodes(AbstractNode.java:164)
    at test.CopyXML.copyFile(CopyXML.java:46)
    at test.CopyXML.main(CopyXML.java:29)
      

  4.   

    private String file;
    public static void main(String[] args) {
    CopyXML cxml = new CopyXML();

    cxml.copyFile("1203101_1-1BR0-6114_.xml");
    }

    public void copyFile(String xmlFilePath){

    String filePath = null;
    if(xmlFilePath == null || "".equals(xmlFilePath.trim())){
    filePath = file;
    }else{
    filePath = xmlFilePath;
    }
    System.out.println(filePath);
    try {
    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    InputStream is = classLoader.getResourceAsStream(filePath);
    Document document = new SAXReader().read(is);

    List list = document.selectNodes("//SiebelMessage/ns0:ListOfOrderEntryBilling/OrderEntry-OrdersIo/OrderNumber");
    for(Iterator iter=list.iterator();iter.hasNext();){
    Element elementOrderNo = (Element)iter.next();
    String orderNo = elementOrderNo.getText();
    System.out.println(orderNo);
    }
    } catch (DocumentException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
    }
    }
    }