Java:读取和解析XML文件始终返回null

时间:2012-12-18 12:10:12

标签: java xml readxml

我有XML文件我尝试读取Document对象:

<MCSA_Configuration>
    <Variables>
        <python27_path> C:\Python27\python.exe </python27_path>
        <python32_path> C:\Python32\python.exe </python32_path>
        <xlrd> xlrd-ok </xlrd>
    </Variables>
</MCSA_Configuration>

我尝试通过代码将其读入Document对象:

 import java.io.File;
    import java.text.DecimalFormat;
    import java.util.ArrayList;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import org.w3c.dom.Document;
    import org.w3c.dom.NamedNodeMap;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;

public static Document Get_XML_Document(String xml_file_path) {

        File file;
        Document xml_doc = null;
        // TODO code application logic here 
        try {
            file = new File(xml_file_path);
            if (file.exists()) {
                    DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
                    DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
                    xml_doc = docBuilder.parse(file);
            } else {
                System.out.println("Error: XML File not found!");
            }

        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        }
        return xml_doc;
    }

我总是得到xml_doc NULL 有人可以帮我解决问题吗?

我总是得到文件不存在,使用: 文档doc = XMLReader.Get_XML_Document(“C:\ MCSA \ MCSA_config.xml”);

2 个答案:

答案 0 :(得分:1)

而不仅仅是检查if (file != null)检查文件是否存在if (file.exists())。可能的问题是该路径中不存在文件

答案 1 :(得分:0)

您的代码工作正常。

获取文件后检查条件

if(xml_doc == null)
  System.out.println("Doc is null");
else 
  System.out.println("Doc is not  null");

你会得到

  

Doc不为空

当您尝试打印文档时,它将提供输出

  

[#document:null]

您可以通过该文档对象执行操作。