Прежде чем начать, это мой первый пост, поэтому, если что-то я сделал неправильно или не сделал, скажите, пожалуйста, и я отредактирую свой постКак наилучшим образом извлекать значения атрибутов и значения элементов с помощью LINQ и C#
У меня есть документ, который формируется следующим образом.
<Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'>
<EventData>
<Data Name='SubjectUserSid'>S-1-0-0</Data>
<Data Name='SubjectUserName'>MACHINE$</Data>
<Data Name='SubjectDomainName'>DOMAIN</Data>
<Data Name='SubjectLogonId'>0x0</Data>
<Data Name='TargetUserSid'>S-1-0-0</Data>
<Data Name='TargetUserName'>username</Data>
<Data Name='TargetDomainName'>TDname</Data>
<Data Name='Status'>0x0</Data>
<Data Name='FailureReason'>%%2313</Data>
<Data Name='SubStatus'>0x0</Data>
<Data Name='LogonType'>10</Data>
</EventData>
</Event>
У меня есть небольшая проблема, поступающая с чем-то, что может извлечь значения из (как значений атрибутов и соответствующих значений элементов) XML. Мне нужна инструкция для каждого из атрибутов или я могу вернуть список и просто перебрать значения?
EDIT: значения должны быть извлечены, поэтому я могу отправить их в базу данных. Я хотел бы попробовать использовать LINQ для этого, но Xpath может работать так же
EDIT2: Спасибо за три хороших ответа, у меня нет требования. репутации в upvote ответов, и мне нужно, чтобы добраться до моего Dev машины перед испытанием, но это действительно выглядит то, что им ищет :)
Вы пытались использовать xsd.exe для генерации классов C# для этого XML? Он может генерировать строго типизированные классы, которые можно использовать для десериализации XML в (linq не обязательно). – jle
Существуют различные способы анализа XML-файлов: использование DataSet, XmlSerializer, XPathDocument, XmlDocument, XDocument и XmlTextReader. –