帮助构建日志分析实用程序? [英] help in building a log analysis utility ?
问题描述
我有大日志文件,其中包含文本和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的不同方法。这是我对它们的简短概述:
- 使用
System.Xml.XmlDocument
class 。它实现了DOM接口;如果文档的大小不是太大,这种方式是最简单和最好的。
参见 http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.aspx [ ^ ]。- 使用类
System.Xml.XmlTextReader
;这是最快的阅读方式,特别是你需要跳过一些数据。
参见 http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.aspx [ ^ ]。- 使用类
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:
- 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[^].- 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[^].- Use the class
System.Xml.Linq.XDocument
; this is the most adequate way similar to that ofXmlDocument
, 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屋!