帮助构建日志分析实用程序? [英] help in building a log analysis utility ?

查看:69
本文介绍了帮助构建日志分析实用程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有大日志文件,其中包含文本和xml数据。我想从中取出包含相同id元素(在下面的情况值1中)的xml数据并进一步处理它。你可以建议一些从文件中获取xml数据的方法吗?







例如文件





02182015发送请求

< soap:envelope xmlns:soap =http:// schemas。 xmlsoap.org/soap/envelope/\">

< soap:header>



< soap:body>

< id> 1







02182015回应

< soap:envelope xmlns:soap =http://schemas.xmlsoap.org/soap/envelope/>

< soap:header>



< soap:body>

< id> 1



解决方案

.NET FCL提供了解析XML的不同方法。这是我对它们的简短概述:



  1. 使用 System.Xml.XmlDocument class 。它实现了DOM接口;如果文档的大小不是太大,这种方式是最简单和最好的。
    参见 http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.aspx [ ^ ]。
  2. 使用类 System.Xml.XmlTextReader ;这是最快的阅读方式,特别是你需要跳过一些数据。
    参见 http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.aspx [ ^ ]。
  3. 使用类 System.Xml.Linq.XDocument ;这是类似于 XmlDocument 的最合适的方式,支持LINQ to XML Programming。
    参见 http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.aspx [ ^ ],http://msdn.microsoft.com/en-us/library/bb387063.aspx [ ^ ]。





另外,特别是根据数据来源,您可能希望使用序列化而不是直接处理XML,例如SOAP序列化或数据合同。请从这里开始:

http://en.wikipedia.org/wiki/Serialization [ ^ ],

https://msdn.microsoft.com/en-us/library/7ay27kt9%28v= vs.110%29.aspx [ ^ ],

https://msdn.microsoft.com/en-us/library/90c86ass%28v=vs.110%29.aspx [ ^ ],

https://msdn.microsoft.com/en-us/library/ms733127% 28v = vs.110%29.aspx [ ^ ]。



-SA

I have big logs file which contains text and xml data . I want to take out xml data which contain same "id" element (in below case value 1) from it and further process it . can you please suggest some ways to fetch xml data from file ?



eg of file


02182015 request sent "
<soap:envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:header>

<soap:body>
<id>1

"

02182015 response recieved "
<soap:envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:header>

<soap:body>
<id>1

"

解决方案

.NET FCL offers different ways to parse XML. This is my short overview of them:


  1. Use System.Xml.XmlDocument class. It implements DOM interface; this way is the easiest and good enough if the size if the document is not too big.
    See http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.aspx[^].
  2. Use the class System.Xml.XmlTextReader; this is the fastest way of reading, especially is you need to skip some data.
    See http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.aspx[^].
  3. Use the class System.Xml.Linq.XDocument; this is the most adequate way similar to that of XmlDocument, supporting LINQ to XML Programming.
    See http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.aspx[^], http://msdn.microsoft.com/en-us/library/bb387063.aspx[^].



Also, depending, in particular, on origin of data, you may want to use serialization instead of dealing with XML directly, such as SOAP serialization or Data Contract. Please start here:
http://en.wikipedia.org/wiki/Serialization[^],
https://msdn.microsoft.com/en-us/library/7ay27kt9%28v=vs.110%29.aspx[^],
https://msdn.microsoft.com/en-us/library/90c86ass%28v=vs.110%29.aspx[^],
https://msdn.microsoft.com/en-us/library/ms733127%28v=vs.110%29.aspx[^].

—SA


这篇关于帮助构建日志分析实用程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆