I'm trying to make sense of a big data dump of XML that I need to write to a database using some VB.net code. I'm looking for some help getting started with the parsing code, specifically how to access the attribute values.
<Product ID="523233" UserTypeID="Property" ParentID="523232">
<Name>My Property Name</Name>
<AssetCrossReference AssetID="173501" Type=" Non Print old">
</AssetCrossReference>
<AssetCrossReference AssetID="554740" Type=" Non Print old">
</AssetCrossReference>
<AssetCrossReference AssetID="566495" Type=" Non Print old">
</AssetCrossReference>
<AssetCrossReference AssetID="553014" Type="Non Print">
</AssetCrossReference>
<AssetCrossReference AssetID="553015" Type="Non Print">
</AssetCrossReference>
<AssetCrossReference AssetID="553016" Type="Non Print">
</AssetCrossReference>
<AssetCrossReference AssetID="553017" Type="Non Print">
</AssetCrossReference>
<AssetCrossReference AssetID="553018" Type="Non Print">
</AssetCrossReference>
<Values>
<Value AttributeID="5115">Section of main pool</Value>
<Value AttributeID="5137">114 apartments, four floors, no lifts</Value>
<Value AttributeID="5170">Property location</Value>
<Value AttributeID="5164">2 key</Value>
<Value AttributeID="5134">A comfortable property, the apartment is set on a pine-covered hillside - a scenic and peaceful location.</Value>
<Value AttributeID="5200">PROPERTY_ID</Value>
<Value AttributeID="5148">facilities include X,Y,Z</Value>
<Value AttributeID="5067">Self Catering. </Value>
<Value AttributeID="5221">Frequent organised daytime activities</Value>
</Values>
</Product>
</Product>
Basically I want to find a property within the xml file that has a certain property ID. So it would be something like the code listed below which is my interpretation of what it should be. The code doesn't work, so I'm going wrong somewhere with it.
This is the relevant line that I need to be able to access:
<Value AttributeID="5200">PROPERTY_ID</Value>
Dim productsXML As XElement = XElement.Load("C:\myFile.xml")
Dim foundNode As XElement
Dim query = From p In productsXML.Elements("Product").Descendants("Values") Where p.Attributes("attribute").ToString = "PROPERTY_ID"
foundNode = query.FirstOrDefault()