首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache通用jxpath XML解析- XML URL为空

Apache通用jxpath XML解析- XML URL为空
EN

Stack Overflow用户
提问于 2013-05-09 13:49:22
回答 1查看 966关注 0票数 0

下面是我用来学习JXPath xml解析的示例代码,

代码语言:javascript
复制
import java.net.URL;
import java.util.Iterator;

import org.apache.commons.jxpath.Container;
import org.apache.commons.jxpath.JXPathContext;
import org.apache.commons.jxpath.xml.DocumentContainer;

public class DocumentContainerTest {

    /**
     * @param args
     */
    public static void main(String[] args) {

        //Get the URL the of XML document
        URL url = DocumentContainerTest.class.getClassLoader().getResource("student_class.xml");

        //Construct document container from the URL to XML
        Container container = new DocumentContainer(url);

        JXPathContext context = JXPathContext.newContext(container);

        Iterator<?> subjects = context.iterate("/studentClass/subjects_list/subject");
        while (subjects.hasNext()) {
            System.out.println(subjects.next());
        }

        Iterator<?> stdNames = context.iterate("/studentClass/student_list/student/firstName");
        while (stdNames.hasNext()) {
            System.out.println(stdNames.next());
        }

        System.out.println(context.getValue("/studentClass/student_list/student[@id='1']/firstName"));
    }

}

下面是我使用的XML文件

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<studentClass>
    <name>MPC</name>
    <subjects_list>
        <subject>Maths</subject>
        <subject>Physics</subject>
        <subject>Chemistry</subject>
    </subjects_list>
    <student_list>
        <student id="1">
            <age>2</age>
            <dob>2011-09-25T16:41:56.250+05:30</dob>
            <firstName>Sriram</firstName>
            <hobby>Painting</hobby>
            <lastName>Kasireddi</lastName>
        </student>
        <student id="2">
            <age>26</age>
            <dob>2011-09-25T16:41:56.250+05:30</dob>
            <firstName>Sudhakar</firstName>
            <hobby>Coding</hobby>
            <lastName>Kasireddi</lastName>
        </student>
    </student_list>
</studentClass>

我得到了下面的错误,

代码语言:javascript
复制
Exception in thread "main" org.apache.commons.jxpath.JXPathException: XML URL is null
    at org.apache.commons.jxpath.xml.DocumentContainer.<init>(DocumentContainer.java:106)
    at org.apache.commons.jxpath.xml.DocumentContainer.<init>(DocumentContainer.java:92)
    at org.apache.commons.jxpath.XMLDocumentContainer.<init>(XMLDocumentContainer.java:58)
    at jxpath_ex1.DocumentContainerTest.main(DocumentContainerTest.java:26)
Java Result: 1

我已经添加了lib文件commons-jxpath-1.3.jar、commons-beanutils-1.3.jar、apache-commons-logging.jar。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-10 13:44:40

代码语言:javascript
复制
 URL url = DocumentContainerTest.class.getResource("student_class.xml");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16455250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档