请参阅下面的XML。 Comparable_Sale是重复项。我正在使用新的NewtonSoft的Json解析器,我需要能够获得_Description属性的值,其中_type属性等于特定字符串值,例如元素中的“GrossBuildingArea”。
我使用下面的代码用newtsonsoft解析属性值,但我无法弄清楚如何获取属性。
<COMPARABLE_SALE PropertySequenceIdentifier="3" ProjectName="Villages of Devinshire" ProjectPhaseIdentifier="1" PropertySalesAmount="132500" SalesPricePerGrossLivingAreaAmount="109.32" DataSourceDescription="FMLS, 5559496;DOM 80" DataSourceVerificationDescription="Tax Recs/2ndGen/Deeds" SalesPriceTotalAdjustmentPositiveIndicator="N" SalePriceTotalAdjustmentAmount="-1500" SalesPriceTotalAdjustmentGrossPercent="1.1" SalePriceTotalAdjustmentNetPercent="1.1" AdjustedSalesPriceAmount="131000">
<SALE_PRICE_ADJUSTMENT _Type="GrossBuildingArea"_Description="1,254"/>
<SALE_PRICE_ADJUSTMENT _Type="BasementArea" _Description="1,254 Sq.Ft."/>
<SALE_PRICE_ADJUSTMENT _Type="BasementFinish" _Description="1rr2ba4o"/>
</COMPARABLE_SALE>
此代码将我带到属性,但我看不到如何获取属性。
for each item in jobject.Children(Of JObject)()
For Each [property] In item.Children(Of JProperty)()
If [property].Value.Type = JTokenType.[String] Then
Dim newItem = New xmlRootValues()
newItem.Name = [property].Name
newItem.Value = [property].Value.ToString()
lstValues.Add(newItem)
End If
Next
next
非常感谢(C#或VB.net)中的任何帮助。
谢谢, 混沌
答案 0 :(得分:0)
要使用xml,请使用xml api,如XDocument。这里有一个C#示例:
<input>
答案 1 :(得分:0)
在linq to xml中,您还可以使用Descendants和foreach来获取相同元素的所有值。
var obj = from item in xDoc.Descendants("SALE_PRICE_ADJUSTMENT")
select new
{
_Descr = item.Attribute("_Description").Value,
_Type = item.Attribute("_Type").Value
};