Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用VTD-xml在log4j.xml上使用XPath_Java_Xml_Xpath_Vtd Xml - Fatal编程技术网

Java 使用VTD-xml在log4j.xml上使用XPath

Java 使用VTD-xml在log4j.xml上使用XPath,java,xml,xpath,vtd-xml,Java,Xml,Xpath,Vtd Xml,我有这样的validLog4jXML字符串 <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE log4j:eventSet PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd" > <log4j:eventSet version="1.2" xmlns:log4j="http://jakarta.apache.org/log4j/" includesLocat

我有这样的validLog4jXML字符串

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<!DOCTYPE log4j:eventSet PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd" >
<log4j:eventSet version="1.2" xmlns:log4j="http://jakarta.apache.org/log4j/" includesLocationInfo="true">
    <log4j:event logger="org.apache.axis2.deployment.ClusterBuilder" 
        timestamp="1395925603261" level="INFO" thread="localhost-startStop-1">
        <log4j:message>
            <![CDATA[Clustering has been disabled]]>
        </log4j:message>
    </log4j:event>
</log4j:eventSet>
我试图查看有关VTD-XML的文档,它说:

要避免此例外情况,请执行以下操作:

[ERROR] No URL found for prefix:log4j
com.ximpleware.XPathParseException: No URL found for prefix:log4j
    at com.ximpleware.xpath.CUP$parser$actions.CUP$parser$do_action(parser.java:752)
    at com.ximpleware.xpath.parser.do_action(parser.java:434)
    at java_cup.runtime.lr_parser.parse(lr_parser.java:570)
    at com.ximpleware.AutoPilot.selectXPath(AutoPilot.java:809)
    at ad.ecs.library.LogHelper.collectLogNodesVTD(LogHelper.java:654)
    at ad.ecs.library.LogHelper.collectLogNodesForADayVTD(LogHelper.java:571)
    at ad.ecs.library.LogHelper.collectLogNodesForTheWeekVTD(LogHelper.java:456)
    at ad.ecs.library.LogHelper.access$2(LogHelper.java:453)
    at ad.ecs.library.LogHelper$2.run(LogHelper.java:313)
    at java.lang.Thread.run(Thread.java:724)
com.ximpleware.XPathParseException:未找到前缀为xyz的URL

确保创建具有名称空间支持的初始导航器对象(即,最后一个参数设置为true),并将名称空间哈希作为最终参数传入,以查找索引、第一个匹配、所有匹配、获取xml和获取哈希


我试着按照这些步骤做,但没有成功。我将非常感谢您的帮助。

在查询中使用名称空间之前,您必须使用以下方法注册名称空间:

[ERROR] No URL found for prefix:log4j
com.ximpleware.XPathParseException: No URL found for prefix:log4j
    at com.ximpleware.xpath.CUP$parser$actions.CUP$parser$do_action(parser.java:752)
    at com.ximpleware.xpath.parser.do_action(parser.java:434)
    at java_cup.runtime.lr_parser.parse(lr_parser.java:570)
    at com.ximpleware.AutoPilot.selectXPath(AutoPilot.java:809)
    at ad.ecs.library.LogHelper.collectLogNodesVTD(LogHelper.java:654)
    at ad.ecs.library.LogHelper.collectLogNodesForADayVTD(LogHelper.java:571)
    at ad.ecs.library.LogHelper.collectLogNodesForTheWeekVTD(LogHelper.java:456)
    at ad.ecs.library.LogHelper.access$2(LogHelper.java:453)
    at ad.ecs.library.LogHelper$2.run(LogHelper.java:313)
    at java.lang.Thread.run(Thread.java:724)
ap.declareXPathNameSpace(log4j, "http://jakarta.apache.org/log4j/");