從XML屬性的值我使用XDocument.Parse方法來加載下面的XML:檢索使用的XDocument
<AuditMessage>
<Event Action="Read" DateTime="2013/26/7" EventID="100"/>
<User Role="Admin" UserID="12123"/User>
<SourceIdentification SourceID="TeamLondon" SourceType="3"/>
<Network AccessPointID="143.176.8.32" AccessPointTypeCode="1" />
<Network AccessPointID="143.176.8.32" AccessPointTypeCode="`2" />
<Participant ParticipantID="0001" ParticipantType ="2"/>
<Participant ParticipantID="0002" ParticipantType ="3"/>
<Participant ParticipantID="0003" ParticipantType ="3" ParticipantName = "Housh Mangrove"/>
</AuditMessage>
我需要檢索在上述XML以下屬性的值。
-DateTime
-Role
-AccessPointID
-ParticipantID
-ParticipantName
我已經使用sourceXML.Root.Element(nodeName).Attribute(attributeToMatch).Value
來讀取單個屬性。我無法理解如何在不同的節點上迭代相同的事物,只要某些節點可能會丟失。 請注意:
<Network>
和<Participant>
節點重複。ParticipantName
屬性僅存在於一個實例中- 最後,作爲Input提供的不同XML中可能缺少任何節點。因此,我需要以這樣的方式編寫代碼,如果節點丟失,應用程序不會拋出OBJECT REFERENCE NOT FOUND異常
這是非常簡單的事情,你有沒有做一次嘗試? – Jonesopolis
是的,我可以通過使用sourceXML.Root.Element(nodeName).Attribute(attributeToMatch).Value來讀取單個屬性; 我想知道是否有一個更簡單的方法,因爲這將導致重複代碼 –
檢查[this](https://www.google.com/search?q=xDocument+node+c%23) –