Java 用xml编写的文件描述符

Java 用xml编写的文件描述符,java,xml-parsing,xsd,metadata,file-format,Java,Xml Parsing,Xsd,Metadata,File Format,我希望解析日志文件(通常由某些字符分隔的文本文件),我希望通过制作一个解析器来简化这项工作,该解析器可以接收描述日志文件格式的xml文件。通过这种方式,我可以向解析器提供任何类型的日志文件,并使用xml描述向解析器提供有用的信息。我不知道如何用xml一般地描述日志文件格式。此外,我不确定如何将日志文件中的行与给定的描述进行匹配。我将非常感谢在这方面的任何帮助和指导。非常感谢所有回复的人 <logfile location="/usr/local/logs/logfile.log">

我希望解析日志文件(通常由某些字符分隔的文本文件),我希望通过制作一个解析器来简化这项工作,该解析器可以接收描述日志文件格式的xml文件。通过这种方式,我可以向解析器提供任何类型的日志文件,并使用xml描述向解析器提供有用的信息。我不知道如何用xml一般地描述日志文件格式。此外,我不确定如何将日志文件中的行与给定的描述进行匹配。我将非常感谢在这方面的任何帮助和指导。非常感谢所有回复的人

<logfile location="/usr/local/logs/logfile.log">
    <delimiter>#</delimiter>
    <format>
        <field index="1" length="10">
            <target>Date</target>
        </field>
        <field index="2">
            <target>Message</target>
        </field>
        <field index="3" length="20">
            <target>Component</target>
        </field>
        <field index="5" length="20">
            <target>Details</target>
        </field>
    </format>
</logfile>
输出:

Date: 2012/12/12
Message: Critical application state
Component: Error in component XYZ
Details: Useful information

谢谢,这很有帮助。一旦有了正确的描述,我仍然有点不确定如何解析xml文件。我能看看你是如何解析这个例子的吗?我试图使用提供的xml API在java中实现这个解析器。再次感谢您的帮助,非常感谢。关于上面XML中的长度属性,我有点犹豫不决。如果它声明了要写入的相应字段的文本量(那么名称可能更精确),就可以了。如果将其用作最大字符串大小,则很难维护(首先需要解析日志文件以确定正确的值),如果设置不正确,可能会导致异常。@guidot-这是从字段读取的字符数。@sreehari-谢谢。我仍然不确定如何解析xml文件,一旦我有了正确的描述,如果我能看到您是如何做到这一点的,那就太好了。为了获得描述,我在每个标记中提供了一种格式。标记内容一起描述了行的格式。但它无法识别分隔符,我也不知道为什么。谢谢,我真的很感激。(\d+)(:)(\d+)(:)(\d+)(\s+)|(\s+)
Date: 2012/12/12
Message: Critical application state
Component: Error in component XYZ
Details: Useful information