Windows ईवेंट व्यूअर से मैं निम्नलिखित XML संरचना प्राप्त कर सकते हैं:deserialize एक्सएमएल स्ट्रिंग त्रुटि वस्तु के लिए: XML दस्तावेज में कोई त्रुटि है (1,2)
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="XXXXXXXXXX" Guid="{YYYYYYYY}" />
<EventID>XYZ</EventID>
<Version>0</Version>
<Level>L</Level>
<Task>A</Task>
<Opcode>0</Opcode>
<Keywords>0x000xyzh</Keywords>
<TimeCreated SystemTime="2012-06-28T15:44:04.997837000Z" />
<EventRecordID>153</EventRecordID>
<Correlation ActivityID="{DDDDDDDDD}" />
<Execution ProcessID="199999" ThreadID="90990" />
<Channel>Microsoft-Windows-ABCDEFG/Admin</Channel>
<Computer>myPC</Computer>
<Security UserID="ABCABC" />
</System>
<EventData>
<Data Name="name1">data1</Data>
<Data Name="name2">data2</Data>
<Data Name="name3">data3</Data>
</EventData>
<RenderingInfo Culture="en-US">
<Message>some message </Message>
<Level>Information</Level>
<Task>XYZ</Task>
<Opcode>Info</Opcode>
<Channel />
<Provider />
<Keywords>
<Keyword>XYZ</Keyword>
</Keywords>
</RenderingInfo>
</Event>
मैं केवल के EventData अनुभाग में दिलचस्पी है एक्सएमएल
public class Event
{
public EventData EventData;
}
public class EventData
{
public String[] Data;
}
मैं तो निम्न कोड का उपयोग करें:: मैं निम्नलिखित बहुत ही सरल कक्षाओं बनाया है
XmlSerializer serializer = new XmlSerializer(typeof(Event));
StringReader reader = new StringReader(evtXml);
evt = (Event)serializer.Deserialize(reader);
लेकिन कोड की पहली पंक्ति पर, मैं निम्नलिखित त्रुटि मिलती है:
There is an error in XML document (1, 2).
यह त्रुटि मुझे जानकारीपूर्ण नहीं है। क्या समस्या है कि मेरे पास कक्षाओं में सभी फ़ील्ड नहीं हैं या मुझे डेटा प्राप्त करने के लिए कुछ अन्य वर्ग (XmlSerializer के अलावा) की आवश्यकता है। जिस तरह से मैं EventData तहत डेटा चाहते हैं नाम और डेटा मान (जैसे data1 साथ name1) के द्वारा होता है ... आदि
महत्वपूर्ण संपादित: एक्सएमएल मैं हो रही है की ToXML() विधि द्वारा उत्पन्न होता है EventRecord वर्ग
धन्यवाद
खैर XML दस्तावेज़ * * मान्य नहीं है - 'Message' टैग को देखने के:' कुछ संदेश '। यदि यह आपका असली एक्सएमएल नहीं है, तो कृपया एक्सएमएल का एक छोटा लेकिन पूरा टुकड़ा शामिल करें जो एक ही समस्या का प्रदर्शन करता है। –
@ जोनस्केट: मुझे इवेंट रिकॉर्ड क्लास –
का एक्सएमएल() विधि से एक्सएमएल मिल रहा है। यह विधि http://msdn.microsoft.com/en-us/library/system.diagnostics.eventing.reader.eventrecord.toxml क्यों होगी .aspx वापसी खराब xml –