Log Parser 2.2 - 可以循环?

时间:2012-04-27 09:49:31

标签: sql xml logparser

我正在尝试使用Microsoft的Log Parser 2.2。我将Log Parser指向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>

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

任何形式的SQL,特别是LogParser变种,都不适合循环。但是,如果你要做的只是获取数据元素,那么这个查询可能会完成这项任务:

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

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