0

我正在尝试使用 Microsoft 的 Log Parser 2.2。我将我的日志解析器指向一个 XML 文件。我想从 XML 文件中获取某些信息,然后在查询中重用这些信息。我在下面创建了一些伪代码:

GET UNIQUE *WINDOW_NAMES* 
FOR EACH *WINDOW_NAME*
{
 GET WINDOW_ATTRIBUTE_ONE;
 GET WINDOW_ATTRIBUTE_TWO;
}

使用 Log Parser 2.2 可以做到这一点吗?

XML 文档的摘录:

<windows>
    <window>
        <name>
            Window One
        </name>
        <visible>
            Visible
        </visible>
        <stayontop>
            True
        </stayontop>
    </window>   
    <window>
        <name>
            Window Two
        </name>
        <visible>
            Visible
        </visible>
        <stayontop>
            False
        </stayontop>
    </window>   
    <window>
        <name>
            Window Three
        </name>
        <visible>
            Invisible
        </visible>
        <stayontop>
            True
        </stayontop>
    </window>
</windows>
4

2 回答 2

0

您可以使用 TPL 输出格式根据第一个查询的结果生成(一组)查询,然后在输出文件上运行 logparser。

于 2012-05-04T08:53:34.913 回答
0

任何形式的 SQL,尤其是 LogParser 种类,都不适合循环。但是,如果您要做的只是获取数据元素,那么此查询可能会完成这项工作:

LogParser -i:XML "file.xml#/windows/window"

这将输出一个表格,其中包含字段namevisiblestayontop,以及每个“窗口”的一行。然后,您可以使用 LogParser 输出选项之一保存/输出此数据(LogParser -h有关详细信息,请参阅 LogParser Windows 帮助文件)。

于 2012-10-08T16:52:40.863 回答