java - 用xml编写的文件描述符

标签 java xml-parsing xsd metadata file-format

我正在寻找解析日志文件(通常由某些字符分隔的文本文件),并且我希望通过制作一个可以接受描述传入日志文件格式的 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>

您的代码将读取此 XML 并根据此处定义的规则动态解析日志文件中的每一行。然后,程序会将这些值存储在适当的“目标”字段中。

日志文件:

2012/12/12 10.10.10#Critical application state#Error in component XYZ#Useless information#Useful information

输出:

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

关于java - 用xml编写的文件描述符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11402523/

相关文章:

xml - 离线时用外部xsd文件解析tomcat web.xml

java - PHP API 中的语法错误

java - Eclipse 执行速度比另一台电脑慢

java - iText : unable to retrieve/Resources from a page

Android SAX XML 解析错误

c# - 如何在 C# 中反序列化具有前缀的 XML

java - XSD 到 HTML 表单

java - Jenv 未拾取系统安装的 java

R XML : How to retrieve a node with a given value

java - 为什么使用 Schema 验证 XML 时未验证数据类型?